我有一个类:
.disabled {
pointer-events: none;
}
我使用 jquery 删除它:
$('#button').removeClass('disabled')
并且类被禁用,但单击此链接仍然不起作用 - 单击它不会重定向到 href 链接(实际上,什么也没有发生)。
另一方面,如果我在链接上禁用 attr,然后使用删除它
$('#button').prop('disabled', false)
它确实有效...
但是在我的元素中,开发人员正在使用“disabled”类来禁用链接(不确定为什么),所以我想坚持使用它,有什么建议吗?
PS。删除类“disabled”后,检查$('#button').css('pointer-events')
返回 auto
,所以它应该可以工作,我迷路了。
我的例子:
<a id='my-button' href="www.google.com" class='disabled' style="display: block;"><i class="pti pt-trophy"></i><span>Click me</span></a>
CSS:
a.disabled {
pointer-events: none;
}
单击其他一些 div 后,我更改此链接 href 并删除类:
$("#my-button").attr('href', result['success']['new_link']);
$("#my-button").removeClass('disabled');
(result是一个包含ajax结果和新链接的对象,检查多次,它已定义且正确,控制台不会抛出任何错误,服务器也是如此)
最佳答案
也许你的代码中遗漏了一些东西,我为你做了一个工作示例:
$("button:first").click(function(){
$("button:last").toggleClass("disabled")
$("button:last").text(function(i, text){
return text === "Disabled" ? "Click me" : "Disabled";
})
});
$("button:last").click(function(){
console.log("clicked")
});
.disabled {
pointer-events: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button">Toggle Disable for bottom button</button><br><br>
<button type="button" class="disabled">Disabled</button>
关于javascript - JQuery 删除带有指针事件的类 none 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46315525/