jquery - 在 Chrome/WebKit/Safari 中禁用 anchor

标签 jquery html safari google-chrome webkit

考虑以下代码:

$("a").attr("disabled", "disabled");

在 IE 和 FF 中,这将使 anchor 不可点击,但在基于 WebKit 的浏览器(Google Chrome 和 Safari)中,这没有任何作用。 disabled 属性的好处在于它很容易删除,并且不会影响 href 和 onclick 属性。

对于如何获得理想的结果,您有什么建议吗?答案必须是:

  • 很容易恢复,因为我想在运行 AJAX 调用时禁用表单输入控件。
  • 必须在 IE、FF 和 WebKit 中工作

最佳答案

我假设您有一个绑定(bind)到这些 anchor 元素的 onclick 事件处理程序。只需让您的事件处理程序检查“禁用”属性并在设置后取消该事件。您的事件处理程序看起来像这样:

$("a").click(function(event){
  if (this.disabled) {
    event.preventDefault();
  } else {
    // make your AJAX call or whatever else you want
  }
});

您还可以设置样式表规则来更改光标。

a[disabled=disabled] { cursor: wait; }

编辑 - 按照评论中的建议简化“禁用”检查。

关于jquery - 在 Chrome/WebKit/Safari 中禁用 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/175205/

相关文章:

javascript - 桌面浏览器和移动 Safari 上的关闭处理方式不同吗?

javascript - 在jquery中获取textarea中的html元素

javascript - 单击分页 Bootstrap 表时不显示日期选择器

HTML CSS 最小宽度流体宽度

html - 从 NetBeans 测试网页时站点根目录错误

html - 旋转背景图像问题

javascript - 使用 HTML 和 JS 运行外部应用程序(vlc 播放器、文本文档、.exe)

javascript - jQuery 和 JSON : chained select from an array with multiple values

Javascript 代码在 ios 和 Safari 中不起作用

html - 媒体查询不支持 Safari