如何在dojo编辑器的内容中添加事件监听器?

时间:2012-02-15 10:28:49

标签: dojo

我正在使用dojo编辑器。我有一个问题,所以你可以帮我解决这个问题 问题

我的问题是:我如何向我输入到编辑器的标签添加事件监听器,例如onClick,onMouseover等......

例如:我将图像标签输入编辑器内容:

var ed=dijit.byId("myEditor"); //my editor has id id myEditor
var img = "<img src='myPic.jpg' alt='' id='myPic'/>"; //my image tag
ed.forcus();
ed.execCommand("inserthtml", img); //insert image tag into editor content

将图片标签插入编辑器后,现在我想向其中添加“点击”事件,因为我想点击该图片并显示一个小工具提示,选择左右对齐该图像。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:2)

查看我的jsFiddle示例:http://jsfiddle.net/phusick/j475Q/

您要连接的节点基本上是editor.editNode

var editor = dijit.byId("editor");
dojo.connect(editor.editNode, "ondblclick", this, "_onDblClick"); 

之后,在_onDblClick方法中,您必须找出哪个节点是dblclicked并决定是否继续执行操作:

_onDblClick: function(e) {
    var target = e.target;
    var tag = target.tagName ? target.tagName.toLowerCase() : "";
    if(tag == "img") {        
        dojo.withGlobal(editor.window, "selectElement", selectionapi, [target]);
    }
}

我在LinkDialog插件(dijit / _editor / plugins / LinkDialog.js)中找到了这个。在那里寻找更多灵感。