我想防止双击,因此在单击事件时设置元素的disabled
属性input
似乎是正确的做法。其他stackoverflow答案反映了这一点。这就是我用 jQuery 在 CoffeeScript 中写的:
$('input[type="submit"]').on('click', ->
$(this).addClass('disabled').attr('disabled', 'disabled')
$(this).val('Sending')
)
我有addClass('disabled')
基金会。
通常这是有效的。但是,如果我单击返回,该按钮仍处于禁用状态。如果我转到该页面并且该页面已被缓存,则该按钮仍处于禁用状态。是否有处理所有这些小问题的 JavaScript 库?似乎这是一个非常普遍的需求。我需要在上面添加更多的 JavaScript/jQuery 吗?
我会认为 HTML5 现在会有一些机制。
更新:我试图监听pageshow
事件并取消禁用提交按钮:
$('input[type="submit"]').on('pageshow', function() {
console.log('pageshowed')
$(this).removeClass('disabled').removeAttr('disabled').val('Submit');
});
但是什么都没有发生,即使页面第一次加载也是如此。我用pageshow
错了吗?