Как остановить бабблинг ?
У меня
<tr title='Click to continue this Duel' onclick='playit(this.children[0].value); return false;'> ... <td onclick='deleteTable(this.parentNode); return false;' title='Delete this Duel'> Я считал, что return falseдолжно бы предотвратить выполнение функции playit, но этого почему то не происходит. Подскажите, что я сделал неправильно? |
Цитата:
Вот про то статейка. |
Цитата:
|
Цитата:
|
Нужно использовать addEventListener вместо вшитой в HTML onclick с параметром. Мне не хочется добавлять ещё одну setup функцию, а как использовать код который у меня уже есть?
Я попробовал ev=window.event;, но это undefined. Как найти событие кросбраузерно? |
Цитата:
http://javascript.ru/tutorial/events...-sobytie-event |
Сейчас я посылаю параметер this - то есть ссылку на кнопку, а в примерах передаётся event. А как мне ОДНОВРЕМЕННО иметь и то и другое?
|
Кажется, я нашёл
function doSomething(e) { e = e || window.event; var target = e.target || e.srcElement; console.log(target); } Так? Да? |
работающий окончательный вариант для тех кому он нужен будет.
HTML: <tr onclick='playit(this.children[0].value); return false;'> .... <td onclick='eventH(event); return false;' title='Delete this Duel' class='f4'><button>X</button></td>....</tr> function eventH(ev){ ev = ev || window.event; var a = ev.target || ev.srcElement; console.log('*** '+a+' : '+ev.type); if (ev.stopPropagation) { ev.stopPropagation() } else { ev.cancelBubble = true } В этом: return false;кажется, нет необходимости, но я не проверял. Спасибо за помощь, KSA! |
Часовой пояс GMT +3, время: 14:35. |