禁用特定元素的onClick事件

时间:2013-05-24 12:10:05

标签: jquery html

我有重叠的图像和div。 Div位于顶部,我已经为div写了flip(),需要一些时间才能完成,如果用户点击图像时它正在翻转,那么调用而不是翻转图像点击..我可以禁用该特定图像的点击功能< / p>

Image Click and Div:

 $('#front').live('click', function()  {


 $('#myImageFlow img').live('click', function() {

1 个答案:

答案 0 :(得分:0)

您可以将过渡状态保存为图像上的数据。转换完成后,将数据设置为某个标志。然后,您可以在开始翻转之前检查此标志,如有必要,您可以通过从事件处理程序返回false或调用event.stopImmediatePropagation()来停止事件。

$('#myImageFlow img').on('click', function (event){ 
  var $img = $(this);
  if !($img.data('isTransitionFinished') {
    event.stopImmediatePropagation();
  } else {
    $img.flip(); // Assuming you made flip a jQuery plugin
  }
};

$.fn.flip = function() {
  this.data('isTransitionFinished', false);  // Reset from any previous transitions
  var properties = {};  // Whatever property changes you're applying for the transition
  this.animate(properties, {
    complete: function() {
      this.data('isTransitionFinished', true);
    }
  });
}