获取鼠标光标下的HTML标记

时间:2012-04-15 20:28:21

标签: javascript html html5

有人会碰巧知道如何直接在网页上的鼠标光标下获取HTML标签吗?我正在研究一种新型的WYSIWYG,并希望实现一些真正的拖放功能(不要在光标处插入,这对于WYSIWYG来说是如此常见);要做到这一点,我需要知道当mousebutton up事件触发时插入菜单项的位置。

我们也欢迎您的想法,据我所知,这可能是一个复杂的问题。

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:2)

实际上,并不复杂。您必须将事件处理程序绑定到文档本身,然后检查事件被触发的原始​​目标。请参阅mightyuhu的评论。

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