У меня интересная ситуация - у меня есть строка таблицы, которая в данный момент показывает ее скрытый аналог, когда я нажимаю кнопку «Развернуть». Исходная (невидимая) строка, содержащая кнопку раскрытия, также содержит некоторый контент в определенной ячейке, который при нажатии становится редактируемым. Я хотел бы избавиться от кнопки расширения и включить расширение строки двойным щелчком мыши в любом месте самой строки, включая поле, которое становится редактируемым при нажатии на него. Вы уже можете почувствовать неприятности.
Когда я дважды щелкаю по строке, сначала запускаются два события щелчка, прежде чем произойдет dblclick. Это означает, что если я дважды щелкну по полю, оно превратится в редактируемое, и строка развернется. Я хотел бы предотвратить это. Я хочу, чтобы двойной щелчок предотвращал срабатывание одного щелчка, а один щелчок - как обычно.
Использование event.stopPropagation () явно не сработает, поскольку это два разных события.
Есть идеи?
Редактировать (некоторый полупсевдокод):
Оригинальная версия:
<table>
<tbody>
<tr>
<td><a href="javascript:$('#row_to_expand').toggle();" title="Expand the hidden row">Expand Row</a></td>
<td>Some kind of random data</td>
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[0]->value("First editable value") ?></td>
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[1]->value("Second editable value") ?></td>
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[2]->value("Third editable value") ?></td>
<!-- ... -->
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[n]->value("Nth editable value") ?></td>
</tr>
<tr style="display: none" id="row_to_expand">
<td colspan="n">Some hidden data</td>
</tr>
</tbody>
</table>
Желаемая версия:
<table>
<tbody>
<tr ondblclick="$('#row_to_expand').toggle()">
<td>Some kind of random data</td>
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[0]->value("First editable value") ?></td>
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[1]->value("Second editable value") ?></td>
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[2]->value("Third editable value") ?></td>
<!-- ... -->
<td><?= $editable_cell_which_turns_into_an_input_field_on_single_click[n]->value("Nth editable value") ?></td>
</tr>
<tr style="display: none" id="row_to_expand">
<td colspan="n">Some hidden data</td>
</tr>
</tbody>
</table>
Приветствия