目前我正在开发一个基于 jquery 的非常小的所见即所得编辑器。我不关心 IE oder Chrome,只关心 Firefox。我的问题是查找选择是否在链接中以获取 href 属性的值(如果已设置)。单击找到链接的节点,双击始终是正文。它处于设计模式。
我的 click 和 dblclick 事件处理程序。变量 current_selection、current_node、iframe 和 container 是全局的。
selection_handler:function()
{
current_selection = iframe.getSelection();
current_node = current_selection.anchorNode;
if(current_node.nodeName == "#text")
{
current_node = current_node.parentNode;
}
$('#log').text(current_node.nodeName);
},
当我单击未格式化的文本时,日志显示 mit 例如“body”。当我使用 execCommand('createLink',...) 添加链接时,日志显示“A”。这样可行。当我从头到尾用 2 次单击标记链接的单词时,日志显示“A”。但是双击我总是得到“身体”。所以我无法获得 href 属性。
处理程序在 init 中定义:
init:function(options)
{
...
iframe = $('#wysiwyg-'+container.attr('id'))[0].contentWindow;
iframe.addEventListener('dblclick',methods.selection_handler,false);
iframe.addEventListener('click',methods.selection_handler,false);
...
}
有人知道出了什么问题吗?