Javascript con jQuery: haga clic y doble clic en el mismo elemento, efecto diferente, uno desactiva el otro

Tengo una situación interesante: tengo una fila de tabla que, actualmente, muestra su contraparte oculta cuando hago clic en el botón "Expandir". La fila original (oculta) que contiene el botón expandir también tiene algo de contenido en una celda determinada que, al hacer clic, se vuelve editable. Me gustaría deshacerme del botón de expandir y permitir la expansión de la fila haciendo doble clic en cualquier lugar de la fila, incluido el campo que se vuelve editable al hacer clic en él. Ya puedes oler el problema aquí.

Cuando hago doble clic en una fila, primero se activan dos eventos de clic, antes de que se produzca el dblclick. Esto significa que si hago doble clic en el campo, se convertirá en uno editable y la fila se expandirá. Me gustaría evitar esto. Quiero que el doble clic evite que se active el clic único y que el solo clic se realice de la forma habitual.

Usar event.stopPropagation () claramente no funcionará ya que son dos eventos diferentes.

¿Algunas ideas

Edit (algunos semi-pseudocódigo):

Versión original

<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>

Versión deseada:

<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>

Aclamacione

Respuestas a la pregunta(9)

Su respuesta a la pregunta