这是在Dojo编辑器的上下文中,但它应该更普遍地应用。
我的<img>
标记了<a>
标记:
<a><img width="146" height="109" src="/gaggleVideoProxy.do?op=thumb&thumbUrl=http://i.ytimg.com/vi/xoZXdWl7BZs/default.jpg" _djrealurl="/gaggleVideoProxy.do?op=thumb&thumbUrl=http://i.ytimg.com/vi/xoZXdWl7BZs/default.jpg" &ytvideoid="xoZXdWl7BZs&userVideoId=1073344""></a>
如果单击此按钮,则会选择图像。单击删除键将导致删除图像,但保留链接标记。
我正在寻找一种方法来确保在删除<a>
标记时删除<img>
标记。
更新
这更像是一个dojo api问题。看看这个问题/答案给了我做我需要的基本工具:
答案 0 :(得分:0)
不删除图像,而是删除图像的父节点。
答案 1 :(得分:0)
这有效:
_connectTagEvents: function(){
this.editor.onLoadDeferred.addCallback(dojo.hitch(this, function(){
this.connect(this.editor.editNode, "onclick", this._onClick);
}));
},
_onClick: function(e){
var target = e.target;
var tag = target.tagName ? target.tagName.toLowerCase() : "";
var wrapper = target.parentNode;
if(/* TAG and/or WRAPPER are what you want*/) {
dojo.withGlobal(this.editor.window, "selectElement", dijit._editor.selection, [wrapper]);
}
}
这将强制选择包装元素。 (不要忘记从_connectTagEvents
方法拨打initButton()
。