как узнать,что на объект нажали кнопкой мышки или id объекта,на который нажали?
как узнать id или класс объекта,на который нажали мышкой?
|
function getClickedElement(e){ if (navigator.userAgent.match('MSIE') || navigator.userAgent.match('Gecko')) { var elem = document.elementFromPoint(e.clientX,e.clientY); } else { var elem = document.elementFromPoint(e.pageX,e.pageY); } return elem.id; } document.body.onclick = function(e) { e = e || window.event; id = getClickedElement(e); //здесь можете работать с элементом } |
а если есть возможность, то проще повесить обработчик onclick на нужный вам элемент
|
Рукалтицо.жпг
<html> <body id="id"> body <script> window.onclick=function(e){ var elem = e ? e.target : window.event.srcElement; alert(elem.id) } </script> </body> </html> |
подведём итоги
document.body.onclick = function(e) { var elem = e ? e.target : window.event.srcElement; while(!(elem.id || (elem == document.body))) elem = elem.parentNode; if (!elem.id) return; else id = elem.id; /* если вдруг у элемента по которому кликнули нет id, скрипт будет подниматься вверх по цепочке DOM узлов до близжайшего элемента с id или до тега body если элемент с id не будет найден, фи-я вырубится*/ //здесь работаете с id элемента } на мой взгляд это самый безопасный вариант если с HTML'ом, то вот: <html> <body id="bodytag"> это текст прям в body'е <div id="d1">текст дива 1</div> <div id="d2">это текст дива 2 <span id="sp1">а в диве спан</span></div> <div>а этот без id</div> <script type="text/javascript"> document.body.onclick = function(e) { var elem = e ? e.target : window.event.srcElement; while(!(elem.id || (elem == document.body))) elem = elem.parentNode; if (!elem.id) return; else id = elem.id; /* если вдруг у элемента по которому кликнули нет id, скрипт будет подниматься вверх по цепочке DOM узлов до близжайшего элемента с id или до тега body если элемент с id не будет найден, фи-я вырубится*/ //здесь работаете с id элемента alert(id);//например } </script> </body> </html> |
Раед, а собственно, почему бы не передать ссылку на объект, по которому кликнули?
|
Цитата:
|
Цитата:
Цитата:
|
trikadin,
ну так в последнем варианте я это и использую Цитата:
|
Раед, а вы зачем по цепочке вверх поднимаетесь? Человеку нужен сам объект)
|
Часовой пояс GMT +3, время: 12:49. |