jQuery '.click(callback)' 阻止默认事件
jQuery '.click(callback)' prevents the default event
我试图阻止双击表单按钮,禁用该元素几秒钟。
<form action="#" method="POST">
<input type="text" />
<input type="password" />
<button class="myButton" type="submit">Send</button>
</form>
var that = this;
this.element = $(".myButton");
this.element.click(function(e) {
this.element.prop("disabled", true);
window.setTimeout(function() {
that.element.prop("disabled", false);
}, 2000);
});
它成功地启用/禁用,但使用.click()
功能可以防止(自动?O_o) 事件的传播,并且页面不遵循表单操作属性中的链接。
请注意,我正在尝试将行为添加到以前工作正常的表单按钮(发布到aciton链接)。此外,启用/禁用工作得很好(无论我在改编上面的代码时可能犯的最终错误)。
PS - 任何解决方案都必须是跨浏览器的,并且与IE8兼容。
通过禁用该按钮,您将阻止发布操作发生。因此,您要做的是禁用表单,然后使用javascript调用实际提交表单。 这可能看起来像这样:
$('.myButton').click(function() {
$button = $(this);
$button.attr('disabled', true);
$button.closest('form').submit();
setTimeout(function() {
$button.attr('disabled', false);
}, 2000);
});
相关文章:
- Backbone.js ModelBinder将默认事件更改为keyup
- 默认事件发生后,我如何执行自己的代码
- 在javascript中阻止文档执行默认操作时,在单个元素中使用默认事件
- jQuery '.click(callback)' 阻止默认事件
- 更改完整日历的议程日视图中的默认事件宽度
- 主动.js防止事件代理上的默认事件
- Javascript的默认事件预防不起作用
- 在自定义点击功能之前执行默认事件
- 无法阻止javascript中的默认事件
- AJAX响应后重新触发javascript默认事件
- 什么's作为匿名函数的默认事件处理程序与函数名称之间的区别
- 在默认事件处理程序之前执行某些操作
- 如何防止整个应用的默认事件动作
- 如何防止手机中的默认事件
- 防止默认事件动作不工作
- 如何防止默认事件的行动,在谷歌地球与IE
- android上的样式选择触发默认事件
- 检测默认事件处理
- 如何防止onclick方法中的默认事件处理
- 空格键不能取消firefox的默认事件