2011-02-03 3 views
2

Как получить родительский узелName текста, пока я на нем с помощью курсора?Javascript: получить имя родительского узла

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

И в результате мы имеем:

  • Stackoverflow является крутая Q & сайт в мире.

Так что, если курсор находится на coolest я хотел бы получить его родитель NODENAME который b

Пожалуйста, не библиотеки, просто чистый JavaScript.

+0

Вы в порядке с помощью решения jQuery? –

ответ

7
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; 
    }); 
} 

EDIT: обновленный код и пример, в соответствии с вопросом редактирования и комментарии.

See example.

+0

Приятно знать, что IE понимает событие как функцию функции обработчика. Я всегда думал, что 'window.event' - единственный способ получить объект события. +1 – singles

+2

@CIRK: измените 'click' и' onclick' на 'mouseover' &' onmouseover' и измените '.tagName' на' .nodeName', и выше будет указано, что вы просите :) –

+0

Обновлено соответственно. – mVChr

1
<div id="holder" contentEditable="true"> 
    Stackoverflow is the <b onclick="alert(this.tagName)">coolest</b> Q&A website in the world. 
</div> 
Смежные вопросы