使跨度暂时无法点击

时间:2016-06-03 07:01:51

标签: javascript jquery html css

在simon游戏中,当向用户显示系列时,我希望跨度(彩色象限)不可点击。目前我正在使用此功能,在动画设置时将pointer-events:none添加到范围。

 function toggleUnclickable(){
  //unclickable class has the css property pointer-events:none
  $("#1").toggleClass("unclickable");
  $("#2").toggleClass("unclickable");
  $("#3").toggleClass("unclickable");
  $("#4").toggleClass("unclickable");

}

我在动画开始前和动画结束后调用此函数。

function animateGeneratedPattern() {

   toggleUnclickable();

  function animateNextPattern(lightup) {
  .... // code for animation
  }
   animateNextPattern(true);
   toggleUnclickable();

}

但是,当跨度动画时,我仍然能够点击?我有什么不对劲吗?

4 个答案:

答案 0 :(得分:1)

onclick = animateNextPattern('你的patameter',这个)//在这里传递this关键字

function animateNextPattern(lightup,ele) {
    if(!$(ele).hasClass('unclickable'))  
    {
    Please write your code here ----
    }

     }

答案 1 :(得分:1)

尝试在元素中使用它来启用和禁用点击:

  $( "#myElement").unbind( "click" ); //disable click
  $( "#myElement").bind( "click" ); //enable

答案 2 :(得分:0)

你可以return true& false启用/禁用点击

 function toggleclick(bol){
  //unclickable class has the css property pointer-events:none
  $("#1 ,#2,#3,#4").click(function(event) {
            return bol;  
  });
}


function animateGeneratedPattern() {

   toggleUnclickable(false);

  function animateNextPattern(lightup) {
  .... // code for animation
  }
   animateNextPattern(true);
   toggleUnclickable(true);

}

答案 3 :(得分:0)

你可以使用jQuery提供的.off()和.on()方法。无论何时你想要解除绑定事件,你都可以使用.off()然后通过on()

附加它
$( "body" ).on( "click", "#theone", function(){} ) //To attach

$( "body" ).off("click","#theone",function(){}) //To remove 

可以在此处阅读更多参考资料http://api.jquery.com/off/