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

源码如下:$(document).keyup(handler);$('#start').click(handler);我希望这两行只在激发时只执行一次,多次触发事件无效,... 源码如下:
$(document).keyup(handler);
$('#start').click(handler);

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

越简单越好!
谢谢。
展开
 我来答
百度网友4970322
2019-07-20 · TA获得超过1.5万个赞
知道答主
回答量:647
采纳率:50%
帮助的人:36万
展开全部

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

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

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

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

汝凝绿Cp
推荐于2017-11-26 · TA获得超过856个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:170万
展开全部
有很多方法,例如只要加个变量开关或属性开关就行了,也可以直接使用jquery的one方法。

示例

$().one('keyup',function(){
....
})
追问
那我这个片段应该怎么写呢具体?谢谢
追答
其实已经很具体了。

$(document).one('keyup',handler);
$('#start').one('click',handler);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
源o0Forever
2014-02-07 · TA获得超过454个赞
知道小有建树答主
回答量:233
采纳率:100%
帮助的人:174万
展开全部

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

//进行绑定click事件
$('#start').bind("click",function(){
    handler();
    //执行完解除绑定click事件
    $('#start').unbind('click');
});
追问
不行阿这样报错了。而且keyup无效了。有别得办法吗
追答
报什么错?贴出来看看呢?最简单就是设置全局变量,不过全局变量太多容易混乱,不太好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woaihouzhuang
2014-02-07 · TA获得超过259个赞
知道小有建树答主
回答量:245
采纳率:100%
帮助的人:224万
展开全部

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

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

官方文档:

追问
请问具体应该如何写?就那两行片段
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-02-07 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
看看jquery的api,就什么都知道了,one是个方法,一般用这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式