当我用光标在文本上时,如何获取文本的父节点名?

<div id="holder" contentEditable="true">
    Stackoverflow is the <b>coolest</b> Q&A website in the world.
</div>

结果,我们得到:
  • Stackoverflow是最酷的问答
    世界各地的网站。

  • 因此,如果光标位于coolest上,我想获取其父节点名b
    请没有库,只有纯JavaScript。

    最佳答案

    if (document.addEventListener) {
        document.getElementById('holder').addEventListener('mouseover', function (e) {
            somevar = e.target.nodeName;
        }, false);
    } else {
        document.getElementById('holder').attachEvent('onmouseover', function (e) {
            somevar = e.srcElement.nodeName;
        });
    }
    

    编辑:根据问题编辑和注释更新了代码和示例。

    See example.

    09-17 04:56