Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2012, 02:38
Интересующийся
Отправить личное сообщение для MakTpaxep Посмотреть профиль Найти все сообщения от MakTpaxep
 
Регистрация: 28.07.2012
Сообщений: 23

Вопрос по отладке. Как отловить событие?
Мне тут на скелет надо вёрстку натягивать, а с js какие-то замуты) Подскажите чем отловить события - я хочу чтобы мне ту часть кода нашло, которая выполняется при наведении курсора например. Если атрибут onMouseOver не выставлен, то становится проблемно шариться по всем подключенным скриптам и искать обработчки события. В лисе установил firebug - потыкался, потыкался, нашёл как запускать сценарий сначала, а то что мне нужно не нашёл.
Подскажите, пожалуйста, может ли firebug мне помочь или что-то другое поставить?
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2012, 10:27
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

MakTpaxep,
события отлавливаются обработчиками к примеру:
document.onkeydown = function (){//обработчик события keydown
 alert("Вы нажали на клавишу");
}

Последний раз редактировалось Dim@, 28.07.2012 в 10:30.
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2012, 10:57
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Я думаю ему наобоорот надо найти навешаные события.)
Простейший ванриант тупо переопределелить метод addEventListener.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2012, 13:55
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Если все события отслеживать через body, то найдёте
посмотрите эту тему
на что навешать обработчик события
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2012, 14:02
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от bes Посмотреть сообщение
Если все события отслеживать через body, то найдёте
не все
вполне возможно на каком то элементе стоит event.stopPropagation() и до body событие не дойдет
Ответить с цитированием
  #6 (permalink)  
Старый 28.07.2012, 14:14
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от vadim5june
не все
вполне возможно на каком то элементе стоит event.stopPropagation() и до body событие не дойдет
Если всё сделано через body, то stopPrpopagation() не нужна, body ловит ото всех и в зависимости от того, кто участвует в событии, выполняются необходимые действия.

<body>

<style>
	div {
		cursor: pointer;
	}
	.red {
		background: red;
	}
	.green {
		background: green;
	}
	.blue {
		background: blue;
	}
</style>

<div id="div1" class="red">click</div>
<div id="div2" class="green">click</div>
<div id="div3" class="blue">click</div>

<script>
document.body.onclick = function (e) {
	e = e || event;
	var target = e.target || e.srcElement;
	alert('tag = ' + target.tagName + '; id = ' + target.id +'; class = ' + target.className)
}
</script>


На чужом коде ваша правда

Последний раз редактировалось bes, 28.07.2012 в 14:33.
Ответить с цитированием
  #7 (permalink)  
Старый 29.07.2012, 16:37
Интересующийся
Отправить личное сообщение для MakTpaxep Посмотреть профиль Найти все сообщения от MakTpaxep
 
Регистрация: 28.07.2012
Сообщений: 23

Сообщение от Aetae
Я думаю ему наобоорот надо найти навешаные события.)
Именно) Мне нужен инструмент, который показывает какой код выполняется в обработчике события. Должно же быть такое в каком-нибудь js дебагере.
Сообщение от Aetae
Простейший ванриант тупо переопределелить метод addEventListener.
Не совсем понял=( Можно простой примерчик?
bes, я понял вашу идею - можно все события перехватывать через body. Правильно?
Ответить с цитированием
  #8 (permalink)  
Старый 29.07.2012, 18:38
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от MakTpaxep
bes, я понял вашу идею - можно все события перехватывать через body. Правильно?
только от элементов, на которых не запрещено всплытие (как отметил vadim5june)
Ответить с цитированием
  #9 (permalink)  
Старый 29.07.2012, 18:53
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

В хроме: наводите мышь на элемент - из контекстного меню "Просмотр кода элемента" (или F12, вкладка Elements, находите нужный элемент) - в правой части смотрите подпункт Properties, раскрываете первый подпункт в этой части и смотрите значение атрибута (например, onclick), там либо null (не назначено), либо просто function () (значит, где-то в коде задан обработчик, нажимаете правую кнопку, там один пункт show function definition, кидает на объявление этой функции), код в атрибуте элемента видно по самому элементу.

Последний раз редактировалось bes, 29.07.2012 в 19:02.
Ответить с цитированием
  #10 (permalink)  
Старый 30.07.2012, 03:58
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

https://getfirebug.com/wiki/index.ph...sions#Eventbug
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить, поддерживается ли событие? FINoM Общие вопросы Javascript 44 31.12.2011 17:19
как отловить событие замены options-ов у select-a? Yurik jQuery 0 26.02.2011 17:18
Как назначить событие html-элементу? Jony X Общие вопросы Javascript 15 15.09.2009 20:55
Вопрос как сделать эту панельку Определённых размеров и свойств. jei jQuery 3 09.06.2009 19:14
Как вставить событие внутрь document.write Vivasvan Events/DOM/Window 8 13.06.2008 20:02