JS, how to stop process execution if it's beeing execute
JS, how to stop process execution if it's beeing executed ...?
如果单击了allready按钮,我如何停止向服务器发送数据?我不想要disable="disabled"响应(按钮是自定义的)。
我尝试设置一个全局var button_clicked = FALSE;
,当点击按钮时将其设置为true,然后当收到响应时将其再次设置为false。但这也不起作用,因为我的鼠标一团糟,垃圾邮件点击速度非常快(尽管我只点击了一次->这实际上帮助我发现上面提到的方法并不那么准确)。
是否有更好的方法来停止进程或禁用onClick上的DOM元素?也许禁用该活动?js或jquery答案更佳。或者这真的不能在非常快的请求中完成。我知道这取决于很多因素(比如用户的cpu)。欢迎任何评论或回答。也许每次点击页面都会让用户等待几毫秒?
试试这个小构造函数:
function MyForm()
{
this.check = false;
this.form = function(){
var f = this;
$('#form').submit(function(e){
e.preventDefault
if( f.check === false )
{
f.check = true;
$.ajax({
...blah blah
success: function( data )
{
//if you want to let them send again, uncomment this next line
//f.check = false;
}
})
}
});
this.form();
}
$(document).ready(function(){
var my = new MyForm();
});
如果您注册了一个事件侦听器,那么您获得的event对象将具有一个preventDefault()
方法。这样可以避免点击链接或发送提交的表格
如果它是由事件处理程序触发的自定义操作,那么唯一的可能性就是检查处理程序函数中的条件是否真的应该执行该操作。然而,禁用按钮并没有那么糟糕,因为你需要通知用户什么都不会发生。
在单击按钮时删除单击处理程序。当您准备好进行下一次单击时,请再次添加它。
button.onclick = null;
相关文章:
- 骨干's Router.execute(callback,args,name)方法获取未定义的名称
- 上一个函数完成后,javascript/jQuery调用execute函数
- 如何仅在完成对gap.client.youtube的请求.execute后执行函数
- Primefaces:RequestContext.execute-调用了两次Javascript
- cefsharp execute Javascript from C#
- Nodejs节点调度npm抛出错误“;this.job.execute不是一个函数;
- MongoDB bulk.execute()在无序插入时花费了太多时间
- vimeo eventlistener to execute jquery function
- htmlunit execute page javascript
- 从保存在节点 mongodb 本机中的 beeing 中排除字段
- HtmlUnit 2.9 jar execute JavaScript
- JS, how to stop process execution if it's beeing execute
- 加载gif图像>execute语句>隐藏gif
- CoffeeScript in server/server.coffee won't execute
- JQuery和execute函数中使用的JSON数组值
- 将.CSV数据导入Javascript,并在字符串包含数据时运行execute
- Android to execute web js
- 当提交多个值时,execute()方法不会运行
- Script won't execute location.href
- Execute php url from jscript