有人会碰巧知道如何在网页上的鼠标光标下直接获取 HTML 标记吗?我正在研究一种新型的所见即所得,并希望实现一些真正的拖放功能(不是在光标处插入,这在所见即所得中很常见);为此,我需要知道当 mousebutton up 事件触发时在哪里插入菜单项。
也欢迎提出想法,因为我知道这可能是一个复杂的问题。
有人会碰巧知道如何在网页上的鼠标光标下直接获取 HTML 标记吗?我正在研究一种新型的所见即所得,并希望实现一些真正的拖放功能(不是在光标处插入,这在所见即所得中很常见);为此,我需要知道当 mousebutton up 事件触发时在哪里插入菜单项。
也欢迎提出想法,因为我知道这可能是一个复杂的问题。
这是基于@mightyuhu 建议的链接的示例:
document.onmouseover = function(e){
targ = getTarget(e);
targ.style.border = '1px solid #F00';
document.getElementById('currentElement').innerHTML = targ.tagName;
};
document.onmouseout = function(e){
getTarget(e).style.border = 'none';
};
function getTarget(e){
if (e.target) return e.target;
else if (e.srcElement) return e.srcElement;
}
还有这个: http: //jsfiddle.net/5NFeX/3/ </p>
其实,没那么复杂。您必须将事件处理程序绑定到文档本身,然后检查事件触发的原始目标。有关示例,请参见mightyuhu 的评论。
最后一个建议:使用主要的 JavaScript 框架之一来减轻编写跨浏览器事件处理代码的痛苦。