/ De evento / JQuery click precisa clicar duas vezes - javascript, jquery

JQuery clique em evento precisa de um clique duplo - javascript, jquery

Antes de marcar como duplicado, observei as seguintes perguntas e nada funcionou para mim.

O evento jQuery click requer um clique duplo para funcionar

Clique e clique duas vezes em disparo de evento (frouxamente realted)

Eu tenho um evento JQuery que requer um único clique em algumas instâncias e um clique duplo na maioria das outras.

Por favor, veja o violino https://jsfiddle.net/SimonPrice/6e9acbo6/5/

Neste violino, você verá uma precisãorepresentação dos dados, as funções disp e collapse não funcionam, por isso removi suas funções da janela javascript para evitar a distração dos alertas de pop-ups.

No violino, você verá uma tabela com uma tabela aninhada que possui tabelas aninhadas. (Código que eu herdei).

Usando este código

$(document).ready(function () {

$(document).on("click", ".up", function () {
shiftRow($(this));
});
$(document).on("click", ".down", function () {
shiftRow($(this));
});

});

Qual é a resposta proposta no primeiro link? Não consigo fazer isso funcionar e ainda estou tendo que clicar duas vezes.

Eu também tentei nos elementos de documento, tabela, tr e td, bem como no evento de clique de classe.

Preciso que isso funcione com um único clique e ficaria grato se alguém puder me ajudar a ver o erro que estou cometendo.

Respostas:

3 para resposta № 1

Adicionei um log adicional à sua função:

function shiftRow(rowbObj) {
console.log("up or down arrow clicked");
var row = $(rowbObj).closest("tr");
console.log(row[0].rowIndex);
var thisTable = row.closest("table");
if ($(rowbObj).is(".up")) {
if (row[0].rowIndex > 0) {
console.log("current: "+row.text() + " prev: " +row.prev().text());

Por isso, me ajudou a perceber que você tem TR oculto adicional para o conteúdo da linha (provavelmente para expansão) - (

<tr id="content_0_36000" class="content" style="display: none;">

) Então, quando você clica uma vez, substitui entre o mostrado e o oculto, por isso parece que nada acontece