我正在尝试设置一个避免用户同时单击多次的按钮。我尝试过
方法1:
emf
方法2:
$(document).one('click','.button',function(){
//coding......
});
在方法1中,是否可以重置功能“ .one”?
因为我允许用户再次单击'// coding'的一部分
返回false。
也许还有另一种选择?
答案 0 :(得分:0)
无需多说就用例就不用说了。此代码段只是一个异步操作的示例(与setTimeout模拟)。这只是切换禁用属性。如果需要,您还可以添加/删除事件侦听器。
const button1 = document.getElementById('button')
const onClick = e => {
button1.disabled = true
setTimeout(() => {
const x = Math.round(Math.random())
if (x) {
button.disabled = false
} else {
const button2 = document.createElement('button')
button2.textContent = 'Reset'
button2.onclick = e => {
button1.disabled = false
button2.remove()
}
document.body.appendChild(button2)
}
}, 1000)
}
button1.addEventListener('click', onClick)
<button id='button'>Click</button>
答案 1 :(得分:0)
您应该检查按钮是否被禁用。如果不是,则将其设置为Disabled并执行您的代码。
$(document).on('click','.button',function(){
if ($(this).prop('disabled') === false) {
$(this).prop('disabled',true);
//put your code here
}
});