JS求助,键盘事件和单击事件,限制只执行一次

源码如下:
$(document).keyup(handler);
$('#start').click(handler);

我希望这两行只在激发时只执行一次,多次触发事件无效,
请问专家如何修改?有jQ。

越简单越好!
谢谢。

可以用jQuery的one方法只执行一次。

1、新建html文档,在body标签中添加一个按钮,然后在head标签中引入jQuery文件:

2、添加script标签,使用jQuery选择器将按钮选中,然后使用one方法,第一个参数为点击“click”,第二个参数为函数:

3、在函数中添加一些命令,这里以弹窗为例,这时只有第一次点击按钮才会弹窗:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
有很多方法,例如只要加个变量开关或属性开关就行了,也可以直接使用jquery的one方法。

示例

$().one('keyup',function(){
....
})追问

那我这个片段应该怎么写呢具体?谢谢

追答

其实已经很具体了。

$(document).one('keyup',handler);
$('#start').one('click',handler);

本回答被提问者采纳
第2个回答  2014-02-07

想用的时候加上绑定,不想生效的时候解除绑定就行了,方法如下:

//进行绑定click事件
$('#start').bind("click",function(){
    handler();
    //执行完解除绑定click事件
    $('#start').unbind('click');
});

追问

不行阿这样报错了。而且keyup无效了。有别得办法吗

追答

报什么错?贴出来看看呢?最简单就是设置全局变量,不过全局变量太多容易混乱,不太好。

第3个回答  2014-02-07

方法:使用jQuery自带的one方法,使用如下:

$("p").one("click",function(){
  alert('only one click');
});

官方文档:

追问

请问具体应该如何写?就那两行片段

第4个回答  2014-02-07
看看jquery的api,就什么都知道了,one是个方法,一般用这个