Hallo.js基于jQuery UI所見即所得的Web編輯器
先看看效果:
Hallo.js是一個簡單的富文本W(wǎng)eb編輯器,基于jQuery UI并且利用HTML5的contentEditable實現(xiàn)所見即所得。其目標(biāo)并不是取代當(dāng)今非常流行的編輯器,如 TinyMCE 或 Aloha Editor,而是給開發(fā)者提供一種更簡單、更愉快的用戶編輯體驗。
Hallo.js是由Henri Bergius為IKS項目開發(fā)的一款免費軟件,使用CoffeeScript開發(fā),遵循MIT許可協(xié)議,托管在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的主題,因此你可能還想自定義一個主題,適合你的需要。工具欄圖標(biāo)字體基于Font Awesome。風(fēng)格的工具欄出現(xiàn)在演示中,你也會想添加一些CSS(如背景和邊框)的類hallotoolbar。
<link rel="stylesheet" href="/path/to/your/jquery-ui.css"> <link rel="stylesheet" href="/path/to/your/font-awesome.css">
引入Hallo.js
<script src="hallo.js"></script>
調(diào)用插件是非常簡單的
jQuery('p').hallo();
你也可以關(guān)閉標(biāo)簽的編輯功能
jQuery('p').hallo({editable: false});
Hallo自己只能使選擇的DOM元素可編輯和不提供任何格式的工具。格式是通過加載插件初始化Hallo。即使簡單的事情,如粗體和斜體的插件:
jQuery('.editable').hallo({ plugins: { 'halloformat': {} } });
這個例子可以使簡單的格式的插件,提供如粗體和斜體的功能。你可以有很多好的插件為你想,如果有必要通過他們的選擇。
Hallo有更多的選項設(shè)置當(dāng)實例化。請參閱文檔hallo.coffee文件。
事件方法
Hallo有一些事件,有助于整合和調(diào)用。你可以使用jQuery bind訂閱它們:
- halloenabled: Triggered when an editable is enabled (editable set to true)
- hallodisabled: Triggered when an editable is disabled (editable set to false)
- hallomodified: Triggered whenever user has changed the contents being edited. Event data key content contains the HTML
- halloactivated: Triggered when user activates an editable area (usually by clicking it)
- hallodeactivated: Triggered when user deactivates an editable area
插件
- halloformat – Adds Bold, Italic, StrikeThrough and Underline support to the toolbar. (Enable/Disable with options: “formattings”: {“bold”: true, “italic”: true, “strikethrough”: true, “underline”: false})
- halloheadings – Adds support for H1, H2, H3. You can pass a headings option key to specify what is going to be displayed (e.g. “formatBlocks”:[“p”, “h2″,”h3”])
- hallojustify – Adds align left, center, right support
- hallolists – Adds support for ordered and unordered lists (Pick with options: “l(fā)ists”: {“ordered”: false, “unordered”: true})
- halloreundo – Adds support for undo and redo
- hallolink – Adds support to add links to a selection (currently not working)
- halloimage – Image uploading, searching, suggestions
- halloblacklist – Filtering unwanted tags from the content
編寫一個插件
Hallo插件編寫正則jQuery UI插件。
當(dāng)Hallo加載也加載單元所有啟用的插件,并通過他們一些額外的選項:
- editable: The main Hallo widget instance
- uuid: unique identifier of the Hallo instance, can be used for element IDs
一個簡單的插件看起來像以下的:
# 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)
以上就是關(guān)于Hallo.js富文本編輯器的詳細(xì)介紹,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
jQuery 淡出一個圖像到另一個圖像的實現(xiàn)代碼
這篇文章主要介紹了jquery的hover事件實現(xiàn)兩個圖片的淡出切換效果,需要的朋友可以參考下2013-06-06jqueryMobile 動態(tài)添加元素,展示刷新視圖的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨queryMobile 動態(tài)添加元素,展示刷新視圖的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05