Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ненавязчивый JavaScript (https://javascript.ru/forum/misc/17210-nenavyazchivyjj-javascript.html)

pauluss 10.05.2011 22:21

Ненавязчивый JavaScript
 
Здравствуйте. Такая грабля: Есть элемент DOM, к нему где-то (скриптом) цепляется событие click. Вопрос: Как, имея элемент DOM, найти его обработчик события click?
Спасибо.

walik 10.05.2011 22:47

Как понять найти ? типа что бы вам сказали,в каком файле и на какой строчке ему вешается это событие ? :D

melky 10.05.2011 22:48

document.onclick = function(){alert(5)};

*!*alert( document.onclick )*/!*


если сделано через addEventListener, то точно так же

Amphiluke 10.05.2011 22:55

Цитата:

Сообщение от melky
если сделано через addEventListener, то точно так же

Да ну? Это как, интересно?

walik 10.05.2011 22:56

Цитата:

Сообщение от melky
если сделано через addEventListener, то точно так же

Если не ошибаюсь, то нет:
document.addEventListener( 'click', function() {alert(5);}, false);
alert(document.onclick);

Riim 11.05.2011 01:50

EventListenerList
только не работает еще.

PeaceCoder 13.05.2011 12:04

Цитата:

Сообщение от walik
Если не ошибаюсь, то нет:

Кстати изза этой хрени, в JQuery баг с клонированием элементов. Он не умеет дублировать обработчики, причем своим же способом навешивания.

Amphiluke 13.05.2011 20:22

Вроде, обработчики нормально «клонируются» :-?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript">
    $(function() { $("p").bind("click", function() { $("body").append($(this).clone(true)); }); });
</script>
</head>
<body>
    <p>Clone by click</p>
</body>
</html>


Часовой пояс GMT +3, время: 09:31.