У меня есть таблица, на которой я использую делегат на tr, каждая строка также имеет кнопку. Мне нужно выполнить некоторые действия при нажатии этой кнопки. Событие клика на кнопке запускается при щелчке, но оно вызывает количество попыток щелчка пользователя в другом месте в строке плюс однократное нажатие кнопки.Остановить события внутри делегата с тем же обработчиком
Вот фрагмент кода
JS
$('.detailTable').delegate('tr', 'click', function() {
console.log('clicked in row');
$('#saveButton').click(function(event) {
console.log('clicked on button');
return false;
});
});
HTML
<table class="detailTable">
<tr>
<td>first</td>
<td>
<button id="saveButton">
Save
</button>
</td>
</tr>
</table>
Почему вы связываете событие внутри делегированного обработчика кликов? Также вы должны использовать '.on()' – Satpal
FYI, вы действительно должны использовать '.on()' вместо '.delegate()', если вы не используете действительно старую версию jQuery. – jfriend00
Я не могу использовать .on(), поскольку я использую jquery 1.6.4 –