2

有人会碰巧知道如何在网页上的鼠标光标下直接获取 HTML 标记吗?我正在研究一种新型的所见即所得,并希望实现一些真正的拖放功能(不是在光标处插入,这在所见即所得中很常见);为此,我需要知道当 mousebutton up 事件触发时在哪里插入菜单项。

也欢迎提出想法,因为我知道这可能是一个复杂的问题。

4

2 回答 2

3

这是基于@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>

于 2012-04-15T20:51:59.983 回答
2

其实,没那么复杂。您必须将事件处理程序绑定到文档本身,然后检查事件触发的原始​​目标。有关示例,请参见mightyuhu 的评论。

最后一个建议:使用主要的 JavaScript 框架之一来减轻编写跨浏览器事件处理代码的痛苦。

于 2012-04-15T20:35:45.017 回答