`
achun
  • 浏览: 306702 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

[nicEdit专题]bkLib,$BK , Function closur and __

阅读更多

bkLib :

这个是BK写的一些很实用的函数了,看看里面的函数好像只有一个不常见,

camelize 

这个是 驼峰风格 的字符串转换函数,看看他的规则很简单,就是如果如果字符串里面出现 - 号,就把 - 删除,并把紧跟后面的字母替换为大写, 驼峰风格真是个形象的比喻.
使用这个函数的原因是DOM对象中有个
currentStyle,他对于样式属性的命名规则是 驼峰风格的,比如 background-color被写成backgroundColor,就是这样。

$BK :

这个函数对象很有意思,看代码是根据ID返回一个DOM对象或者进一步DOM对象扩展为 bkElement 对象。
这种写法叫什么呢?步进?我不知道.

Function closur :

函数闭包,设计了两个函数, closur, closureListener .
关于闭包的详细资料您可以自己去查查资料,不过这里的闭包作用是绑定触发对象,
前面我们看到
nicEdit有对事件Event进行自己的封装,她的事件是可以外部触发(代码触发)的,很明显通过外部触发的事件的触发者this,并不是我们期望的对象本身,而是外部触发的对象。因此需要把我们期望的对象绑定到触发事件,闭包在这起了作用。
我们接着看源代码发现,所有的addEvend实例代码都用闭包做为参数。呵呵我们使用的时候当他透明好了。除非你自己制作扩展,那一定要明白闭包的作用了。

__ :

这个函数目前太简单了,就是返回参数自身,看看__在源代码里的使用,好像传入的参数都是字符串,做什么用呢?I18N,国际化了。作者虽然没有给出另外lang的例子,不过我们知道I18N的接口已经留下了。
现在就让我们实做一个zh-CN的翻译吧。最简单的方法是什么呢?当然是直接把翻译写入__函数内部,不过这样就不是I18N,而是zh-CN了。
我们做个小小的扩展为nicEdit增加一个nicEditorI18N的对象使用起来就像下面代码的实例

 if (nicEditorI18N==undefined) {
      nicEditorI18N={};
   }
   nicEditorI18N['zh-CN'] = {
      'Click to Bold' :'加黑',
      'Click to Italic' :'倾斜',
      'Click to Underline' :'下划线',
      'Left Align' :'左对齐',
      'Center Align' :'中间对齐',
      'Right Align' :'右对齐',
      'Insert Ordered List' :'有序列表',
      'Insert Unordered List' :'无序列表',
      'Select Font Size' :'字体大小',
      'Select Font Family' :'字体样式',
      'Select Font Format' :'字体格式',
      'Click to Subscript' :'下标',
      'Click to Superscript' :'上标',
      'Click to Strike Through' :'删除线',
      'Remove Indent' :'减少缩进量',
      'Indent Text' :'增加缩进量',
      'Horizontal Rule' :'水平线',
      'Change Text Color' :'更改文字颜色',
      'Change Background Color':'更改背景色',
      'Add Image' :'添加图片',
      'Edit HTML' :'编辑 HTML',
      'Add Link' :'添加链接',
      'Remove Link':'移除链接'
   };
 

可以把它存储为zh-CN.js,在调入nicEdit的其他js之前先调入他(也许是其他的语言),我们还需要表明所使用的语种
设定一个变量就行了。

var nicEditorLang='zh-CN';

 最后我们改写__

var __=function(s){
   if(nicEditorLang && nicEditorI18N)
      return nicEditorI18N[nicEditorLang][s] || s;
   else
      return s;
}

 

你也许会问,怎么用 zh-CN ,不用 zh_cn 呢?
你当然可以用zh_cn了,我用zh-CN的目的很简单就是因为标准的语种定义应该在html标签里写上xml:lang="zh-CN"的,如果我们写的都这么标准的话,就不用定义nicEditorLang这个变量了,直接取这个xml:lang就行了。

路有很多条,反正是扩展嘛,要自己动手的怎么做看你的选择了。

分享到:
评论

相关推荐

    nicEdit_脚本实例_

    NicEdit is a simple HTML pages online editor

    nicEdit中文以及官方demo(自己汉化的)

    bkLib.onDomLoaded(function() { new nicEditor().panelInstance('area1'); new nicEditor({fullPanel : true}).panelInstance('area2'); new nicEditor({iconsPath : '../nicEditorIcons.gif'}).panelInstance('...

    NicEdit编辑器API文档

    NicEdit官方API帮助文档,英文PDF版!

    nicedit

    非常小功能齐全的文字编辑器

    NicEdit-Textarea编辑器

    NicEdit能够让任何 element/div变成可编辑或者能够把标准的TextArea转换成富文本编辑器。 NicEdit是我见过最轻量级的富文本编辑器,总共就一个JS文件和一张图片,经过我在项目里的使用情况来看,相当好用。

    nicEdit HTML网页在线编辑器.rar

    nicEdit 是一款简洁的HTML网页在线编辑器,上传功能需要自己添加,nicEdit除了上传功能外,几乎包括了常用的网页文字编辑功能,包括排版、字体样式设计、表格插入、图片插入等,若对编辑器上传功能无要求的话,...

    NicEdit基于AJAX 技术的WYSIWYG 在线编辑器

    ajax无刷新的编辑器,所见即所得!兼容各浏览器 具体如何结合后台可以参考官方网站http://nicedit.com的说明。

    nicEdit(html编辑器) v0.9 r23

    NicEdit 是一个轻量级,跨平台,内联的内容编辑器。能够使你很容易地浏览器上实时的编辑站点内容。NicEdit Javascript 能够快速地整合到任一站点中并使得任一元素/DIV变的可以编辑或将标准文本区域转变成富文本形式...

    简洁的富文本编辑器NicEdit插件

    NicEdit富文本编辑器是一个非常简洁的轻量级网页编辑器插件,跨平台的Inline Content Editor。

    nicEdit源代码

    非常轻量级的所见即所得web编辑器,只有一个js文件和一个图片文件

    html文本编辑器(nicEdit)

    简单使用的JavaScript文本编辑器!

    nicEdit富文本编辑器

    NULL 博文链接:https://zhuyuehua.iteye.com/blog/1975221

    nicEdit 编辑器

    最轻量级的的web页面富文本编辑器,只需要一个js文件和一个gif文件。

    nicEdit轻量级网页富文本编辑器

    js不超过100K,简单易用,附有Demo

    自己汉化的一个nicEdit美化版

    自己汉化的一个nicEdit美化版 'bold' : {name : __('加粗'), command : 'Bold', tags : ['B','STRONG'], css : {'font-weight' : 'bold'}, key : 'b'}, 'italic' : {name : __('倾斜'), command : 'Italic', tags ...

    WP-NicEdit 0.1插件 for Wordpress.zip

    插件名称:WP-NicEdit 0.1 开发人:mac 本插件利用开源ajax-js代码NicEdit作为核心,使得Wordpress的评论输入框成为一个所见即所得(WYSIWYG)的图文编辑框,从而提高评论输入内容的精彩程度。 浏览器支持: ...

    nicEdit 支持图片上传 php

    最新版 nicEdit 支持图片上传,和压缩保存 php版 具体应用时,注意 文件路径

    前端项目-NicEdit.zip

    前端项目-NicEdit.zip

    已经修改好的nicEdit,可以实现上传

    别人写好的例子,好东西大家一起共享。 只有一个js文件和一张图片,总共才200k. 不依赖jQurey。 上传的代码可以自己实现,传回参数也可以不需要用到json包。但是如果你图方便,也可以copy到工程直接使用。

    nicEdit轻量级文本编辑器

    轻量级文本编辑器,使用于各种论坛,下载后可以直接调用,非常方便

Global site tag (gtag.js) - Google Analytics