0

当我单击 .kontrahent div 时,我想使用另一个 jquery 函数来加载 xml 文档并将其附加到 #info div,但是当我单击它时,它会被调用两次,我不知道它为什么不起作用。我已经检查了委托、直播、点击和方法。

jQuery代码:

$("#dane").on('click',".kontrahent",function(){
   console.log($(this));
   var konh_id = $(this).data("konhid");
   show_info(konh_id);
   $('#info').show();
});

html代码

<div class="row">
  <div id="dane" class="span6">
    <div class="kontrahent">
    </div>
    <div class="kontrahent">
    </div>
    <div class="kontrahent">
    </div>
  </div>
  <div id="info" class="span8">TESTOWE INFORMACJE O KLIENCIE</div>
</div>

然后在控制台中我有两次选择

4

1 回答 1

0

这绝对是一个错误,特别是当它是 FireFox 时。我搜索了很多,最后被许多专家认为是错误的。所以,我终于通过声明变量想出了这个想法

var called = false;
$("#ColorPalete li").click(function() {
    if(called ===false)
    {
             called = true;
             setTimeout(function(){ //<-----This can be an ajax request but keep in mind to set called=false when you get response or when the function has successfully executed.
                 alert('I am called');
                 called = false;
             },3000);

    }
});

通过这种方式,它首先检查该函数之前是否被调用过。

于 2014-01-23T12:35:13.633 回答