以下示例适用于启用/禁用href但不适用于 onclick 。我需要启用/禁用两个属性
注意:一旦我们启用它,我就不能简单地将onclick事件移除/绑定到dummy function()。
脚本代码:
<script type="text/javascript">
$(document).ready(function () {
$("#b1").click(function () {
$("#yahoo").attr("disabled", "disabled");
$("#yahoo").css("background-color", "silver");
})
$("#b2").click(function () {
$("#yahoo").removeAttr("disabled");
$("#yahoo").css("background-color", "white");
})
$("#yahoo").click(function (e) {
if ($("#yahoo").attr("disabled") == "disabled") {
e.preventDefault();
}
});
});
</script>
HTML代码:
<div>
<input type="button" id="b1" value="Disable Yahoo Link">
<input type="button" id="b2" value="Enable Yahoo Link">
</div>
<a id="yahoo" target="_blank" href="javascript:alert('href alert')" onclick="javascript:alert('onclick alert')">Yahoo.com</a>
答案 0 :(得分:8)
在click()函数中,您需要显式返回false(在发现它被禁用后)。否则,默认处理程序将使浏览器转到或运行指定的href。
OP很可能会继续前进,所以这个答案实际上只是为了谷歌搜索者的利益。