设置变量以避免函数执行

时间:2013-05-27 12:21:06

标签: jquery html css

我有2个元素图像和div相互重叠,当我点击div它调用transitIT()旋转div但是再次如果我做下一个点击太快然后点击图像被调用我不明白怎么样,我试过使用event.stopPropagation()并设置clickedEnabled以避免图像点击,但会调用图像点击事件。

$(document).on('click', '#front', function(event) {
event.stopPropagation();
//alert('Front Clicked globe='+globe);
 transitIT(this);
 });


 $(document).on('click', 'img', function() {
  alert('htmlcalled image Clicked Called='+clickEnabled);

/*to check if div is transitioning state*/
    if (!clickEnabled){return;}

    //Doing some alignement for image               ...........

     });

2 个答案:

答案 0 :(得分:0)

我建议你测试元素id,因为你不知道实际调用两个回调的顺序。

  $(document).on('click', 'img', function() {
    if (this.id !== "front")
    {
      alert('htmlcalled image Clicked Called='+clickEnabled);
    }
 });

答案 1 :(得分:0)

您可以这样做以防止事件冒泡:

$(document).on('click', 'img', function (event) {
    if (event.target.tagName !== 'IMG') return;

    alert('htmlcalled image Clicked Called=' + clickEnabled);
    //Doing some alignement for image ...........
});