javascript - JQuery 删除带有指针事件的类 none 不起作用

标签 javascript jquery css

我有一个类:

.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/

相关文章:

javascript - 只听按键按下的那一刻(就在按键从上变到下的时候)?

javascript - 如何确定 Canvas 何时完成加载

html - 这可以用 CSS 实现吗?

javascript - JS 查找数组中的所有序列

javascript - 如何将动态元素附加到在 lightgallery.js 中打开的图像

javascript - 这是什么日期格式?如何在 Javascript 中将其转换为人类可读的日期格式?

javascript - jQuery AJAX 发送的 JSON 对象的 post 方法中未定义索引

javascript - jQuery 对话框和 ajax 回传

jQuery AJAX 将 Safari 中的样式表加载到 &lt;style&gt; 标签中

php - 右键单击时更改图像路径 "save image as"