![]() |
1
89
jQuery的 one() 将为每个绑定的元素触发一次附加的事件处理程序,然后删除该事件处理程序。 如果由于某种原因不能满足要求,也可以在单击按钮后完全禁用该按钮。
需要注意的是,使用ID
|
|
2
34
还有一个解决方案:
在这里,我们将上次点击的时间保存为数据属性,然后检查上次点击是否超过0.3秒。如果它是假的(不到0.3秒前),只更新上次点击时间,如果是真的,做点什么。 |
![]() |
3
28
我发现大多数解决方案都不适用于点击Labels或DIV之类的元素(例如,当使用Kendo控件时)。所以我做了一个简单的解决方案:
在您必须决定是否开始活动的地方使用它:
|
|
4
12
我的解决方案: https://gist.github.com/pangui/86b5e0610b53ddf28f94 它可以防止双击,但在1秒后可以接受更多的点击。希望能有所帮助。 这是代码:
|
![]() |
5
11
在我的案例中,jQuery one有一些副作用(在IE8中),我最终使用了以下内容:
它工作得很好,看起来更简单。在那里找到它: http://www.jquerybyexample.net/2013/01/disable-mouse-double-click-using-javascript-or-jquery.html |
![]() |
6
7
“轻松豌豆”
|
![]() |
7
6
只要把这个方法放在你的表单中,它就会处理双击或多次点击。一旦请求发送,它将不允许再次发送请求。
它肯定会对你有所帮助。 |
![]() |
8
2
我也有类似的问题。您可以使用setTimeout()来避免双击。
//如果有属性被禁用,也请在此处检查 //如果btn标记中有一个属性被禁用,那么 //返回。将其转换为js。
|
![]() |
9
2
当加载具有相同表单的新页面时,您可以执行以下操作以禁用提交按钮:
提交按钮可能如下所示:
|
![]() |
10
1
|
![]() |
11
1
@Kichrum提供的解决方案几乎对我有效。我不得不添加e.stopImmediatePropagation()来防止默认操作。这是我的代码:
|
![]() |
12
1
我发现的是一个在现代浏览器上运行的旧解决方案。适用于双击时不切换类。
|
|
13
1
这是我的第一个帖子&我很缺乏经验,所以请对我宽容一点,但我觉得我有一个有效的贡献,可能会对某人有所帮助。。。 有时,重复点击之间需要一个很大的时间窗口(例如,一个mailto链接,需要几秒钟才能打开电子邮件应用程序,但你不希望它被重新触发),但你也不想在其他地方让用户慢下来。我的解决方案是根据事件类型为链接使用类名,同时在其他地方保留双击功能。。。
|
![]() |
14
0
我也遇到过类似的问题,但禁用按钮并没有完全奏效。当点击按钮时,还会发生一些其他操作,有时,按钮没有很快被禁用,当用户双击时,会触发2个事件。
然后这样使用:
|
![]() |
15
0
如果您真正想要的是避免多个表单提交,而不仅仅是防止双击,那么如果有客户端验证(例如根据需要标记的文本字段),那么在按钮的单击事件上使用jQuery one()可能会有问题。这是因为单击会触发客户端验证,如果验证失败,则不能再次使用该按钮。为了避免这种情况,one()仍然可以直接用于表单的提交事件。这是我发现的最干净的基于jQuery的解决方案:
|
![]() |
16
0
我能够通过以下方式高效地完成这项任务
这应该能解决问题。 |
|
17
0
您可以将其用于整个应用程序
排除类,如果您使用SweetAlerts或someting进行确认操作 |
![]() |
18
0
设置一个flag对我很有效。我的flag被称为“submitOnce”。
|
|
19
0
我修改了罗伯特的回答。我使用的不是数据,而是类属性。
所以,用法是一样的
|