如何在禁用元素上使用click()?

时间:2018-06-21 17:33:15

标签: jquery html

我有一个ID为#tmcp_choice_5_0_22的复选框元素

并具有正常运行的代码:

$('input#tmcp_choice_5_0_22').click(function(){
    alert('Does this work?');
});

当复选框被“禁用”时,就会出现问题,似乎click()函数在禁用的元素中不起作用。

还有其他功能可以代替click()吗?

重复的问题对我没有帮助,因为我不能在HTML中放置其他元素,因此html代码是由wordpress插件生成的。

1 个答案:

答案 0 :(得分:2)

  

恕我直言,最简单,最干净的方法“修复”此问题(如果您确实需要   捕获对OP一样的禁用元素的点击)只是为了   将以下CSS添加到您的页面:

input[disabled] {pointer-events:none}
     

这将使对禁用输入的任何点击都落入   父元素,您可以在其中正常捕获它们。 (如果你有   几个禁用的输入,您可能希望将每个输入单独   自己的容器(如果尚未以这种方式布置的话)   例如,多余的<span><div>-只是为了易于区分   单击了哪个禁用的输入。)

来源:https://stackoverflow.com/a/32925830/2518200