찾다
웹 프론트엔드JS 튜토리얼Hallo.js jQuery UI_jquery를 기반으로 한 WYSIWYG 웹 편집기

먼저 효과를 살펴보겠습니다.

Hallo.js는 jQuery UI를 기반으로 하는 간단한 서식 있는 텍스트 웹 편집기이며 HTML5 contentEditable을 사용하여 WYSIWYG를 구현합니다. 목표는 TinyMCE나 Aloha Editor와 같이 오늘날 매우 인기 있는 편집기를 대체하는 것이 아니라 개발자에게 더 간단하고 즐거운 사용자 편집 경험을 제공하는 것입니다.

Hallo.js는 Henri Bergius가 IKS 프로젝트를 위해 개발한 무료 소프트웨어로 CoffeeScript를 사용하여 개발되었으며 MIT 라이센스 계약을 따르며 GitHub에서 호스팅됩니다.

사용방법

1. 프로젝트에 jQuery, jQuery UI 및 Rangy 라이브러리를 도입해야 합니다.

<script src="js/jquery.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/rangy-core.js"></script>

편집기 툴바는 jQuery UI 테마를 사용하므로 필요에 맞게 테마를 맞춤설정할 수도 있습니다. 도구 모음 아이콘 글꼴은 Font Awesome을 기반으로 합니다. 스타일이 지정된 도구 모음이 데모에 나타나면, hallotoolbar 클래스에 일부 CSS(예: 배경 및 테두리)를 추가할 수도 있습니다.

<link rel="stylesheet" href="/path/to/your/jquery-ui.css">
<link rel="stylesheet" href="/path/to/your/font-awesome.css">

Hello.js를 소개합니다

<script src="hallo.js"></script>

플러그인 호출은 매우 간단합니다

jQuery('p').hallo();

태그 편집 기능을 끌 수도 있습니다

jQuery('p').hallo({editable: false});

Hallo 자체는 선택한 DOM 요소만 편집 가능하게 만들 수 있으며 서식 지정 도구는 제공하지 않습니다. 플러그인을 로딩하여 Hallo를 초기화하는 형식입니다. 볼드체 및 이탤릭체 플러그인과 같은 간단한 플러그인도 있습니다.

jQuery('.editable').hallo({
 plugins: {
  'halloformat': {}
 }
});

이 예에서는 굵게 및 기울임꼴과 같은 기능을 제공하는 간단한 서식 지정 플러그인을 만듭니다. 원하는 만큼 좋은 플러그인을 가질 수 있으며 필요한 경우 그중에서 선택할 수 있습니다.

Hallo에는 인스턴스화 시 설정할 수 있는 옵션이 더 많습니다. 설명서 hallo.coffee 파일을 참조하세요.

이벤트 방식

할로는 통합과 소집에 도움이 되는 이벤트를 진행하고 있습니다. jQuery 바인딩을 사용하여 구독할 수 있습니다.

  • halloenabled: 편집 가능 항목이 활성화되면 트리거됩니다(editable이 true로 설정됨)
  • hallodisabled: 편집 가능 항목이 비활성화되면 트리거됩니다(editable이 false로 설정됨)
  • hallomodified: 사용자가 편집 중인 콘텐츠를 변경할 때마다 트리거됩니다. 이벤트 데이터 키 콘텐츠에 HTML이 포함되어 있습니다.
  • halloactivated: 사용자가 편집 가능한 영역을 활성화할 때 트리거됩니다(보통 클릭하여)
  • hallodeactivated: 사용자가 편집 가능한 영역을 비활성화할 때 트리거됩니다

플러그인

  • halloformat – 도구 모음에 굵게, 기울임꼴, 취소선 및 밑줄 지원을 추가합니다(옵션으로 활성화/비활성화: "formattings": {"bold": true, "italic": true, "strikethrough). ": 참, "밑줄": 거짓})
  • halloheadings – H1, H2, H3에 대한 지원을 추가합니다. 제목 옵션 키를 전달하여 표시할 항목을 지정할 수 있습니다(예: “formatBlocks”:[“p”, “h2″, "h3"])
  • hallojustify – 왼쪽, 가운데, 오른쪽 정렬 지원 추가
  • hallolists – 정렬된 목록과 정렬되지 않은 목록에 대한 지원을 추가합니다(옵션 선택: “lists”: {“ordered”: false, “unordered”: true})
  • halloreundo – 실행 취소 및 다시 실행 지원 추가
  • hallolink – 선택 항목에 링크를 추가하는 지원 추가(현재 작동하지 않음)
  • halloimage – 이미지 업로드, 검색, 제안
  • halloblacklist – 콘텐츠에서 원치 않는 태그 필터링

플러그인 작성

Hallo 플러그인은 일반 jQuery UI 플러그인을 작성하는 데 사용됩니다.

Hallo가 로드되면 해당 장치의 활성화된 모든 플러그인도 로드되고 몇 가지 추가 옵션이 전달됩니다.

  • 편집 가능: 기본 Hallo 위젯 인스턴스
  • uuid: Hallo 인스턴스의 고유 식별자, 요소 ID에 사용할 수 있음

간단한 플러그인은 다음과 같습니다.

#  Formatting plugin for Hallo
#  (c) 2011 Henri Bergius, IKS Consortium
#  Hallo may be freely distributed under the MIT license
((jQuery) ->
 jQuery.widget "IKS.halloformat",
  boldElement: null

  options:
   uuid: ''
   editable: null

  _create: ->
   # Add any actions you want to run on plugin initialization
   # here

  populateToolbar: (toolbar) ->
   # Create an element for holding the button
   @boldElement = jQuery '<span></span>'

   # Use Hallo Button
   @boldElement.hallobutton
    uuid: @options.uuid
    editable: @options.editable
    label: 'Bold'
    # Icons come from Font Awesome
    icon: 'icon-bold'
    # Commands are used for execCommand and queryCommandState
    command: 'bold'

   # Append the button to toolbar
   toolbar.append @boldElement

  cleanupContentClone: (element) ->
   # Perform content clean-ups before HTML is sent out

)(jQuery)

위 내용은 Hallo.js 리치 텍스트 편집기에 대한 자세한 소개입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전