Я работаю над проектом и ограничен обработкой событий JavaScript через встроенные обработчики, такие как onclick
и onchange
.Однако мне нужно, чтобы мои обработчики были кросс-браузерными.Я привык использовать jQuery для этого, но так как я не могу использовать $('#id').click(function() { ... })
, у меня возникают трудности с доступом к событиям в стиле jQuery.
Например, я хочу сделать это:
<table>
<tr onclick="if (event.target.tagName.toLowerCase() !== 'td') return false; ...">
<td>...</td>
<td>...</td>
<td><a>...</a></td>
<td><a>...</a></td>
</tr>
</table>
По сути, этот код должен обрабатывать только щелчки по ячейкам таблицы, которые не имеют якорных подэлементов.
Это отлично работает в Firefox и Chrome и практически во всехбраузер, который использует события W3C.К сожалению, в IE это не работает.
Я хотел бы сделать что-то вроде:
if ($.Event(event).target.tagName.toLowerCase() !== 'td') return false; ...
Для обработчика onclick
, но кажется, что при переносетаким образом, событие в jQuery не содержит поля target
.
Что я делаю не так?