求教关于js连续点击事件但最终只触发一次应该怎么写 $(this).attr("disabled", "disabled");$(this).removeAttr("disabled"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 并不是真正的button,用的是超链接触发的click事件 var lastClick;function lockClick() { var nowClick = new Date(); if (lastClick == null) { lastClick = nowClick; return false; } else { if (Math.round((nowClick.getTime() - lastClick.getTime())) > 500) { lastClick = nowClick; return true; } else { lastClick = nowClick; return false } }}function aaa() { if (lockClick()) { //调用后台插入 }else{ //页面input的数值修改 }}只是想询问一下有没有更好的方法或者插件能够实现这样的事情 如果点击一直特别快,则Math.round((nowClick.getTime() - lastClick.getTime())) > 500 永远不成立,那岂不是一直不会“调用后台插入”? 你可以这样! 发生click事件后,移除click事件,向按钮绑定mousedown事件,如果在不允许的时间内发生了mousedown事件,则从新将原有click事件绑定到元素上。若超过了不允许事件发生了mousedown事件,则执行任务代码!jQueryObject.click(function() { //解除绑定的click事件 //绑定mousedown事件 jQueryObject.mousedown(function(){ if(规定时间内发生了mousedown事件) { //解除绑定的mousedown事件 //绑定click()事件 } else { //执行想要的操作 } })}); 你不可能避免计算两次点击的时间差,这是我的代码,作为参考吧$('body').on('click',function(){var that=$(this);that.data('rt',(new Date).getTime());setTimeout(function(){var d=(new Date).getTime(); if(d-that.data('rt')>500) console.log('后台执行')},501);}) JavaScript累加器问题,十万火急 Safari难题!!! 关于jquery与js数组交互的问题? 求一个抓取网页中js的正则 除了<iframe>,还有其它的网页嵌套的标签吗? JS怎样发送XML格式数据,在.net中怎样接收? 这句代码为什么存成asp文件在asp环境中不能运行,而存成htm文件显示正常。 一个简单的问题,求指定日期是星期几 我中了病毒了,谁可以帮帮我呀!184分所有的分数全压上!感谢! js获得cookie问题 js 或者jq 如何删除css的某个具体属性.. 想从事前端开发方面的工作,应该从什么开始学,或者说什么样的学习路线比较好?
var lastClick;
function lockClick() {
var nowClick = new Date();
if (lastClick == null) {
lastClick = nowClick;
return false;
} else {
if (Math.round((nowClick.getTime() - lastClick.getTime())) > 500) {
lastClick = nowClick;
return true;
}
else {
lastClick = nowClick;
return false
}
}
}
function aaa() {
if (lockClick()) {
//调用后台插入
}else{
//页面input的数值修改
}
}
只是想询问一下有没有更好的方法或者插件能够实现这样的事情
Math.round((nowClick.getTime() - lastClick.getTime())) > 500 永远不成立,那岂不是一直不会“调用后台插入”?
//解除绑定的click事件
//绑定mousedown事件
jQueryObject.mousedown(function(){
if(规定时间内发生了mousedown事件) {
//解除绑定的mousedown事件
//绑定click()事件
} else {
//执行想要的操作
}
})
});
var that=$(this);
that.data('rt',(new Date).getTime());
setTimeout(function(){var d=(new Date).getTime(); if(d-that.data('rt')>500) console.log('后台执行')},501);
})