在jq中,当触发点击事件后,在此事件没完成之前,不能再触发点击事件,在事件完成后才能再次点击,该怎么弄

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jq中,当触发点击事件后,在此事件没完成之前,不能再触发点击事件,在事件完成后才能再次点击,该怎么弄相关的知识,希望对你有一定的参考价值。

两种方法,

一种,点击后,把按钮或链接的disabled设为true,让它变成不可用状态;

二种,直接在程序里判断和设定。

比如 :

var doing=false;//定义一个全局变量
$("button.do").on("click",function()
    if(doing)
        alert("上一个操作未完成");
    else
        doing=true;//变量设为true,表示开始操作
        //do something 如ajax
        $.ajax(url:"地址").done(function()
            doing=false; //变量改回false 表示结束操作
        );;
    
);

参考技术A 例如一个按钮“提交”,点击后,你把这个按钮隐藏,替换成另一个按钮“提交中”。
然后当事件完成后,把隐藏的按钮“提交”显示出来,隐藏“提交中”就可以了。
实际中,为了防止用户连点或者重复提交,方法有不少,你可以在网上搜一下

jq 在iframe中点击按钮,父元素触发事件

我的父页面嵌套了一个iframe,用来显示子页面,点击父页面的链接后,这个iframe的子页面弹出来。子页面有个关闭按钮,可以关闭这个这个iframe。问题就是怎么点击子页面的按钮来关闭父页面的窗口呢?
不考虑使用插件,最好使用jquery来实现

 方法如下:
  当在段落上按下鼠标按钮时执行一段 JavaScript:
  <p onmousedown="mouseDown()">请点击此文本!</p>

  定义和用法
  onmousedown 属性在鼠标按钮在元素上按下时触发。
  提示:相对于 onmousedown 事件的事件次序(限于鼠标左/中键):
  onmousedown onmouseup onclick
  相对于 onmousedown 事件的事件次序(限于鼠标右键):
  onmousedown onmouseup oncontextmenu
  注释:onmousedown 属性不适用以下元素:<base>、<bdo>、<br>、<head>、<html>、<iframe>、<meta>、<param>、<script>、<style> 或 <title>。
参考技术A 在父页面写个函数触发按钮的click事件,然后在子页面中调用该函数就行了!!!同域下子页面才能直接调用父页面中的函数。

以上是关于在jq中,当触发点击事件后,在此事件没完成之前,不能再触发点击事件,在事件完成后才能再次点击,该怎么弄的主要内容,如果未能解决你的问题,请参考以下文章

jq 在iframe中点击按钮,父元素触发事件

当页面加载完成时,JQ触发添加页面的元素的事件触发不了。。

微信公众号弹出框在IOS最新系统中点击键盘上的“完成”导致事件无法触发问题

跪请高手指教----- C# 页面按钮点击以后不触发后台事件,一般是啥原因?

js 鼠标移入触发事件。多次触发。

jq实现点击某元素之外触发事件