0

我有 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               ...........

     });
4

2 回答 2

0

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

  $(document).on('click', 'img', function() {
    if (this.id !== "front")
    {
      alert('htmlcalled image Clicked Called='+clickEnabled);
    }
 });
于 2013-05-27T12:32:18.480 回答
0

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

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

    alert('htmlcalled image Clicked Called=' + clickEnabled);
    //Doing some alignement for image ...........
});
于 2013-05-27T12:33:14.280 回答