У меня интересная ситуация. У меня есть строка таблицы, которая в настоящее время показывает ее скрытую копию, когда я нажимаю кнопку "Развернуть". Исходная (незакрытая) строка, содержащая кнопку расширения, также имеет некоторое содержимое в определенной ячейке, которая при нажатии становится доступной для редактирования. Я хотел бы избавиться от кнопки expand и включить расширение строки с помощью doubleclick в любом месте самой строки, включая поле, которое становится редактируемым при нажатии на него. Вы можете почувствовать здесь неприятности.
Когда я дважды щелкаю по строке, сначала запускаются два события щелчка, прежде чем произойдет dblclick. Это означает, что если я дважды щелкнул поле, оно превратится в редактируемое, и строка будет расширяться. Я хотел бы предотвратить это. Я хочу, чтобы doubleclick предотвращал обстрел одного клика, и один клик для выполнения, как обычно.
Использование 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>
Приветствия