考虑以下代码:
$("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/