我有这个功能,用户点击后禁用输入:
$('.click-off').click(function () { var btn = this; setTimeout(function () { $(btn).attr('disabled','disabled'); },1); return true; });
我有这个输入与javascript确认:
<input type="submit" class="click-off" onclick="return confirm('Are you sure?');" value="Delete">
即使我在确认框中单击“取消”,也会调用$(‘.click-off’).click()事件,并且该按钮将被禁用.
$(‘.click-off’).click()被很多输入使用,因此确认不能在其中.
如何查看$(‘.click-off’)中的确认返回.点击事件?甚至阻止$(‘.click-off’).点击事件来调用?
解决方法
为什么你首先将这些逻辑分开?以下是解决问题的两种方法:
将逻辑组合到一个方法中:
$('.click-off').click(function () { // escape here if the confirm is false; if (!confirm('Are you sure?')) return false; var btn = this; setTimeout(function () { $(btn).attr('disabled',1); return true; });
使用全局变量(或最好是对象):
var clickOffConfirmed = false; <input type="submit" class="click-off" onclick="clickOffConfirmed = confirm('Are you sure?');" value="Delete" /> $('.click-off').click(function () { // escape here if the confirm is false; if (!clickOffConfirmed) return false; var btn = this; setTimeout(function () { $(btn).attr('disabled',1); return true; });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。