论坛首页 AJAX版 JavaScript

[nicEdit专题]初识 nicEdit

浏览 425 次
精华帖 (0) :: 良好帖 (11) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-05-01 关键字: javascript nicedit

初次认识 nicEdit
是一个偶然。
(下面简称nicEdit为nE)
我正为所见即所得编辑器不能方便的满足我的需求郁闷,而手工写插件的方式又和我的需求不配套的时候,在JE的新闻 9个最好的Rich Text编辑器
里第一个就是她了。
虽然 withyou 说

引用
NicEdit 这是一个发布不久的编辑器,有些复杂,整个文件大小超过200KB,它集成了许多标准的编辑器功能,它很容易整合和使用。

不过在我看过 nE 的演示的时候我发现这正式我需要的 inline web editor .
下载, 粗略的试用了一下,我真的喜欢上 nE 了。
她的代码结构很好,而且感觉上一点也不复杂,反而是简单的很。
简单的我顺手就做了按钮的汉化和扩展了一个valueEvent,
原来nicEdit对于Event的处理是没有返回值的,而我需要一个返回值的事件,所以就扩展了一个,而且实际的使用了一下,运行完全符合我的设想。
这一切化了不到半天的时间。
扩展如此的方便,说她 有些复杂 显然不合适,应该说 易扩充 , 很安逸

但是对于我随手写的代码是否符合作者的整体思路呢?

那就研读一下她的代码,窥探一下作者的思路吧。
看看nE的源代码目录


组织的很好,一看就知道,
第一步要看的是
nicCore 目录。

发现 bkLib 是一切的开端,就从她看起吧!

先看看她的第一个函数: bkExtend

var bkExtend = function(){
	var args = arguments;
	if (args.length == 1) args = [this, args[0]];
	for (var prop in args[1]) args[0][prop] = args[1][prop];
	return args[0];
};

  Extend是扩展了,bk是什么?偶猜测是作者 Brian Kirchoff 的缩写吧.

这个函数的功能倒是很明确.根据参数的个数来扩展一个对象.参数个数:

0:当然是返回undefined了.

1:扩展对象是this=传入对象的父级对象,并把参数扩展到this对象。

>1:扩展对象是第一个参数 args[0],,并把参数扩展到args[0]对象。

初识就先写这么多吧.

 

   
论坛首页 AJAX版 JavaScript

跳转论坛:
JavaEye推荐