【问题标题】:IE9 won't execute the default action for a link, if it's disabled during the click event如果链接在点击事件期间被禁用,IE9 不会执行链接的默认操作
【发布时间】:2012-04-23 18:52:11
【问题描述】:

为了防止用户提交表单两次,我在点击后禁用了提交按钮:

$('a').on('click', function(){
    $(this).button('option', 'disabled', true);
});

在 Chrome 上,执行默认操作(跟随链接 / 执行 href 属性中的 JS)。然而,在 IE9 上,没有任何反应,并且按钮保持禁用状态。我尝试在各自的 JS 调试器中探索它,似乎这两个事件是在同一阶段处理的。

您可以在 jsFiddle 上看到它的实际效果:http://jsfiddle.net/inerdial/yXWBn/2/

这种行为是否有任何原因,和/或一种比手动触发按钮的默认操作更简单的解决方法?

如果有任何相关性,提交按钮是一个 ASP.NET LinkBut​​ton,带有 jQ​​uery UI 样式。

【问题讨论】:

  • 您可以尝试将该逻辑放入setTimeout 调用中。
  • @Matthew D'oh,我忘了。它有效,你能把这个作为答案让我接受吗?

标签: javascript jquery asp.net internet-explorer-9


【解决方案1】:

您可以尝试将该逻辑放入setTimeout 调用中

【讨论】:

    【解决方案2】:

    您必须在提交按钮上设置UseSubmitBehavior="false",一切都会按预期进行。

    【讨论】:

    • 这些都是LinkButtons,没有那个属性,因为它们可能无法使用表单提交。
    猜你喜欢
    • 2011-06-05
    • 2014-03-09
    • 1970-01-01
    • 2015-03-06
    • 2019-02-01
    • 1970-01-01
    • 2011-07-08
    • 2015-12-21
    • 1970-01-01
    相关资源
    最近更新 更多