У меня есть таблица-строка, которая имеет действие Javascript прикрепленное к щелчкам мыши в любом месте внутри строки таблицы:как проигнорировать первое событие и перейти ко второму?
<tr onmousedown="someAction(this)">
<td>cell 1</td>
<td>cell 2</td>
<td><a href="page2.html">cell 3</a></td>
</tr>
Если пользователь щелкает где-нибудь в строке, я хочу действие Javascript, SomeAction (это), которые должны соблюдаться. Однако, если пользователь нажимает на ссылку на страницу2, я хочу, чтобы действие было проигнорировано, а ссылка последовала.
К сожалению, сначала выполняется действие, которое происходит для перемещения позиции связанного текста, достаточной для того, чтобы щелкнуть по щелчку. Другими словами, пользователь не может на самом деле нажать на ссылку и перейти на страницу2, в этом случае.
Как отключить действие mousedown для кликов по ссылке?
Спасибо!
Update: Исходя из ответов, я в конечном счете включены следующие JavaScript в конце HTML, который зарегистрирован обработчик событий, чтобы остановить распространение как это было предложено, например, так:
...
<script type="text/javascript" language="javascript">
//<![CDATA[
function stopEvent(ev) {
ev.stopPropagation();
}
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
links[i].addEventListener("onmousedown", stopEvent, false);
}
//]]>
</html>
Это может иметь легко включался в событие onload документа, но раздел CDATA уже был необходим по другим причинам, поэтому я добавил то, что мне нужно здесь.
Благодарим за помощь и помощь! :)
Спасибо! Я не использую jQuery для этого проекта, поэтому я использовал некоторый JavaScript, включенный в заключительный HTML, для выполнения этой задачи (см. Мой отредактированный вопрос выше). – Trevor
@ Stephen, спасибо за то, что он стал яснее – unclenorton