Hallo.js基于jQuery UI所見即所得的Web編輯器
先看看效果:
Hallo.js是一個(gè)簡單的富文本W(wǎng)eb編輯器,基于jQuery UI并且利用HTML5的contentEditable實(shí)現(xiàn)所見即所得。其目標(biāo)并不是取代當(dāng)今非常流行的編輯器,如 TinyMCE 或 Aloha Editor,而是給開發(fā)者提供一種更簡單、更愉快的用戶編輯體驗(yàn)。
Hallo.js是由Henri Bergius為IKS項(xiàng)目開發(fā)的一款免費(fèi)軟件,使用CoffeeScript開發(fā),遵循MIT許可協(xié)議,托管在GitHub上。
使用方法
1、你需要將jQuery、jQuery UI和Rangy庫引入到你的項(xiàng)目中:
<script src="js/jquery.min.js"></script> <script src="js/jquery-ui.min.js"></script> <script src="js/rangy-core.js"></script>
編輯器工具欄使用jQuery UI的主題,因此你可能還想自定義一個(gè)主題,適合你的需要。工具欄圖標(biāo)字體基于Font Awesome。風(fēng)格的工具欄出現(xiàn)在演示中,你也會(huì)想添加一些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': {} } });
這個(gè)例子可以使簡單的格式的插件,提供如粗體和斜體的功能。你可以有很多好的插件為你想,如果有必要通過他們的選擇。
Hallo有更多的選項(xiàng)設(shè)置當(dāng)實(shí)例化。請參閱文檔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
編寫一個(gè)插件
Hallo插件編寫正則jQuery UI插件。
當(dāng)Hallo加載也加載單元所有啟用的插件,并通過他們一些額外的選項(xiàng):
- editable: The main Hallo widget instance
- uuid: unique identifier of the Hallo instance, can be used for element IDs
一個(gè)簡單的插件看起來像以下的:
# 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 淡出一個(gè)圖像到另一個(gè)圖像的實(shí)現(xiàn)代碼
這篇文章主要介紹了jquery的hover事件實(shí)現(xiàn)兩個(gè)圖片的淡出切換效果,需要的朋友可以參考下2013-06-06jquery實(shí)現(xiàn)平滑的二級(jí)下拉菜單效果
這篇文章主要介紹了jquery實(shí)現(xiàn)平滑的二級(jí)下拉菜單效果,可實(shí)現(xiàn)鼠標(biāo)滑過彈出二級(jí)下拉菜單,涉及jquery鼠標(biāo)hover事件及fadeIn與fadeOut事件操作頁面元素隱藏及顯示的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-08-08jqueryMobile 動(dòng)態(tài)添加元素,展示刷新視圖的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨queryMobile 動(dòng)態(tài)添加元素,展示刷新視圖的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05