JQuery点击事件需要双击

时间:2017-08-22 14:38:45

标签: javascript jquery

在标记为重复之前,我已经查看了以下问题,但没有任何内容对我有用。

jQuery click event requires double click to work

Click and double-click event firing(松散地实现)

我有一个JQuery事件,在某些情况下需要单击一下,在大多数其他实例中需要双​​击。

请参阅小提琴https://jsfiddle.net/SimonPrice/6e9acbo6/5/

在这个小提琴中,您将看到数据的准确表示,支出和折叠功能不起作用,因此我从javascript窗口中删除了它们的功能,以避免分散弹出窗口\警报。

在小提琴中,您将看到一个包含嵌套表的表,该表具有嵌套表。 (我继承的代码)。

使用此代码

$(document).ready(function () {

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

});

这是第一个链接的建议答案我无法使其工作,我仍然需要双击。

我还在文档,表格,tr和td元素以及它自己的类点击事件上尝试过它。

我需要这个只需点击一下就可以了,如果有人能帮助我看到我正在制作的错误,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

我已在您的功能中添加了其他日志:

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());

所以它帮助我意识到你对行内容有额外的隐藏TR(可能用于扩展) - (

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

) 因此,当您单击一次时,您将在显示和隐藏之间进行替换,这就是为什么它似乎没有发生