我写了一个功能,用于检查按钮是否被点击两次,以及是否要测量两次点击之间的时间。它必须在短时间内防止多次点击。
按钮点击:
$("#Save").click(function () {
dateTime1 = new Date().getTime();
BtnId = this.id;
showSaveDialog();
});
测量功能:
ButtonWasTriggeredTwice: function () {
var result = false;
var currentTime = new Date().getTime();
var time = currentTime - dateTime1;
if (PreviousBtn === null) {
result= false;
} else {
if (PreviousBtn === BtnId) {
if ( time < 1500) {
result = true;
}
else result = false;
}
else {
result= false;
}
}
PreviousBtn = BtnId;
BtnId = null;
return result;
}
BtnId和PreviosusBtn是全局范围变量。
奇怪的是,当我在调试器中设置断点时,此函数非常有用。如果我每次下载按钮都关闭调试器功能块,无论点击之间的时间间隔是什么
答案 0 :(得分:4)
您可以将此解决方案与unbind和timeout一起使用,如下所示:
HTML
*.jsx
JS:
<input type="button" id="Save" value="save me" />
更新此解决方案是我和Revish Patel解决方案的混合
function saveEventButton(){
$("#Save").click(function () {
alert('saved!');
$("#Save").unbind('click');
setTimeout(function(){
saveEventButton();
}, 5000); // 5sec
});
}
saveEventButton();
答案 1 :(得分:0)
首次点击时,您还可以停用按钮。
$(document).ready(function () {
$("#Save").click(function(){
$('#Save').prop('disabled','disabled');
// Perform your button click operation
});
});