当前位置: 首页 > 编程笔记 >

Hallo.js基于jQuery UI所见即所得的Web编辑器

裴令秋
2023-03-14
本文向大家介绍Hallo.js基于jQuery UI所见即所得的Web编辑器,包括了Hallo.js基于jQuery UI所见即所得的Web编辑器的使用技巧和注意事项,需要的朋友参考一下

先看看效果:

Hallo.js是一个简单的富文本Web编辑器,基于jQuery UI并且利用HTML5的contentEditable实现所见即所得。其目标并不是取代当今非常流行的编辑器,如 TinyMCE 或 Aloha Editor,而是给开发者提供一种更简单、更愉快的html" target="_blank">用户编辑体验。

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。风格的工具栏出现在演示中,你也会想添加一些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>

调用插件是非常简单的

jQuery('p').hallo();

你也可以关闭标签的编辑功能

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

Hallo自己只能使选择的DOM元素可编辑和不提供任何格式的工具。格式是通过加载插件初始化Hallo。即使简单的事情,如粗体和斜体的插件:

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

这个例子可以使简单的格式的插件,提供如粗体和斜体的功能。你可以有很多好的插件为你想,如果有必要通过他们的选择。

Hallo有更多的选项设置当实例化。请参阅文档hallo.coffee文件。

事件方法

Hallo有一些事件,有助于整合和调用。你可以使用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: “lists”: {“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插件。

当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)

以上就是关于Hallo.js富文本编辑器的详细介绍,希望对大家的学习有所帮助。

 类似资料:
  • 6.9.1.1.使用Eclipse的所见即所得编辑器 第一种方法是使用Eclipse的所见即所得工具,如图6.13 "Eclipse的所见即所得工具"。使用它,我们需要先选择主布局。其中列的组件比较多,因此选起来可能会费些力气。红色边框表示当前选择的Layout或者View。 图6.13. Eclipse的所见即所得工具 选择的主布局另一种方式是使用Eclipse的Outline视图,选择顶层元素

  • 本文向大家介绍所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解,包括了所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解的使用技巧和注意事项,需要的朋友参考一下 本文教大家如何使用bootstrap-wysiwyg文本编辑器,充分发挥编辑器的优势,希望大家可以有所收获。 主要特性:   超小5kb   自动的热键支持(MAC和windows)   拖放的插

  • 问题内容: 我想提供一个WYSIWYG工具,最好是基于JavaScript的工作流图表(即有向图)。我需要商业软件友好许可,其中包括向OEM付费。如果有必要的服务器端组件,则需要Java或ColdFusion,因为我正在与现有产品集成。 我的工作流图可以有多个起始顶点,但是只有一个终止顶点和边是有向的。除了所见即所得的编辑之外,我还在寻找一种可以帮助以下方面的工具: 能够导出工程图,因此可以是:

  • 目前,我正在创建基于Eclipse4的RCP应用程序,它有部分(视图和编辑器)。我想添加一个基于GEF的图形编辑器。但是没有找到任何关于Eclipse4和GEF的教程。 目前,我也看到了GEF4,但它的渲染引擎是JavaFX。我不应该使用GEF4,因为我必须提供图形编辑器和不同部分之间的拖放功能。

  • 我写了这段代码,一个阻塞队列的实现: 1.我尝试创建两个线程,并强制它们向队列中添加一些数字,然后将其删除。不幸的是,似乎每个线程都有自己的对象。如何更改代码,使两个线程都处理同一对象,并同步向同一阻塞队列添加/删除? 2.我是否正确地编写了出队列函数(这样,当一个线程从队列中删除最后一个数字并且队列大小现在为零时,其他线程将等待队列通知它们)? 这是我的测试器: 这是输出:

  • 问题内容: 背景: 这是对可能尚不存在的要求,但是我一直想建立一个很长的时间。首先,我要问是否有人看到过类似的东西。 假设您具有如下所示的任意JSON结构: 问题: 是否有一个基于Web的JSON编辑器,可以采用这样的结构,并自动允许用户在用户友好的GUI中对其进行修改? 示例: 想象一下一个自动生成的HTML表单,其中显示了两个用于title和lastmod的输入类型文本控件,以及一个用于arr