我正在使用Dijit.Editor构建Mini RTE。 dijit编辑器使用EnterKeyHandling插件(dijit._editor.plugins.EnterKeyHanling),它只负责处理P或Div中的Enter键。
我想扩展这个,添加我自己的功能来处理List元素中的Enter键等。有关如何处理这个的任何建议吗?
答案 0 :(得分:1)
这实际上应该相当容易。
你可以采取的夫妻方法。
1)Monkey修补现有的EnterKeyHandling插件。
这样的事情:
var oldFunc = dijit._editor.plugins.EnterKeyHandling.prototype.onKeyPressed;
dijit._editor.plugins.EnterKeyHandling.prototype.onKeyPressed = function(){
// Do your stuff ...
oldFunc(arguments);
// Do your stuff ...
}
2)创建自己的插件,使用EnterKeyHandling作为模板/基类 你可以剪切并粘贴EnterKeyHandling源并给它自己的名字,然后破解onKeyPressed方法来做你想要的。
但更好的是将其子类化并使用它而不是标准插件:
dojo.declare("so.MyEnterHandling", dijit._editor.plugins.EnterKeyHandling, {
onKeyPressed: function(){
// Do your stuff
// Either use EnterKeyHandling.onKeyPressed() as a template, or call:
this.super(arguments);
}
}
然后像任何其他插件一样使用它:
plugins = "['so.MyEnterHandling']"
注意:代码示例尚未运行,只需键入SO