请考虑以下代码:
$("a").attr("disabled", "disabled");
在IE和FF中,这将使锚点无法点击,但在基于WebKit的浏览器(谷歌浏览器和Safari)中,这没有任何作用.disabled属性的优点在于它很容易被删除,并且不会影响href和onclick属性.
您对如何获得所需结果有任何建议吗?答案必须是:
很容易恢复,因为我想在运行AJAX调用时禁用表单输入控件.
必须在IE,FF和WebKit中工作
Neall.. 7
我假设你有一个绑定到这些锚元素的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; }
编辑 - 简化了评论中建议的"禁用"检查.
我假设你有一个绑定到这些锚元素的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; }
编辑 - 简化了评论中建议的"禁用"检查.