Я использую <table>
для отображения отдельных таблиц или «строки» данных, то вроде следующего:Clickable стол конфликтует с интерактивными содержанием
<table data-id='1' onclick='someFunction($(this).data('id'));'>
<tr><td>row1</td><td>data</td></tr>
<tr colspan=2><a href='#' class='seemore'>see more</a></tr>
</table>
<table data-id='2' onclick='someFunction($(this).data('id'));'>
<tr><td>row2</td><td>data</td></tr>
<tr colspan=2><a href='#' class='seemore'>see more</a></tr>
</table>
<table data-id='3' onclick='someFunction($(this).data('id'));'>
<tr><td>row3</td><td>data</td></tr>
<tr colspan=2><a href='#' class='seemore'>see more</a></tr>
</table>
У меня весь стол кликабельным, который, как предполагается отправить меня другая страница с идентификатором данных.
Внутри каждой таблицы есть раздел, который позволяет пользователю нажимать на текст «видеть больше», чтобы развернуть текст в этой ячейке.
Моя проблема в том, что всякий раз, когда я пытаюсь нажать «увидеть больше», он также выполняет таблицу onclick.
Есть ли способ остановить его от конфликта? как я могу это сделать?
Остановите клик от пузырьков DOM с помощью [stopPropagation (native)] (https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation) или [stopPropagation (jQuery)] (https://api.jquery.com/event.stoppropagation/) – j08691
@ j08691 Это то, что я думал, плохо дайте ему попробовать –
@ j08691 ok lol, если вы повторите это как ответ, плохо согласитесь –