Javascript 如何禁用标记,但同时绑定jquery单击?

Javascript 如何禁用标记,但同时绑定jquery单击?,javascript,jquery,Javascript,Jquery,我刚注意到一个奇怪的行为: 我想动态禁用一个元素,以防止用户打开选项菜单,但同时我想绑定一个单击,这样用户单击它时,它将收到一个警报,很抱歉此选择器被禁用 一个更好的例子是,当您有两个select元素时,如果用户从select1中选择一个选项,则禁止从select2中选择任何内容 我不想隐藏select2,因为我不需要完全解释其他原因 <form> <select id="select1" disabled> // jquery on() won't work be

我刚注意到一个奇怪的行为:

我想动态禁用一个元素,以防止用户打开选项菜单,但同时我想绑定一个单击,这样用户单击它时,它将收到一个警报,很抱歉此选择器被禁用

一个更好的例子是,当您有两个select元素时,如果用户从select1中选择一个选项,则禁止从select2中选择任何内容

我不想隐藏select2,因为我不需要完全解释其他原因

<form>
   <select id="select1" disabled> // jquery on() won't work because of "disable"
        <option value='1' >apple</option>
        <option value='2' >banana</option>
    </select>
</form>


 $('form').on('click', '#select1', function(e){
        // do something
 });

这里有一个解决您问题的变通方法

您可以在select上覆盖一个div,加载时,检查它是否已禁用。如果它未禁用,我们将使用。remove删除覆盖,否则,我们将它保留在那里以挂起一个。单击。。。事件发生在它上面

let disabled=$'select1'。是:disabled' 如果残废{ $‘测试’。删除; } $'test'。单击,函数E{ 此选择器已禁用; }; 试验{ 位置:绝对位置; 宽度:68px; 高度:17px; } 苹果 香蕉
不能绑定到javascript中的禁用字段。您可以选择在选择框周围创建一个div以接收所述的单击事件,或者如果您确实不需要其他元素,则可以保持选择框处于启用状态,将其样式设置为禁用状态,并在单击时立即模糊。这不是一个非常干净的解决方案,但我不知道在添加元素方面有什么限制

$select1.clickfunction{ $this.blur; }; .残疾人{ 颜色:巴巴巴; 背景色:F0; } 苹果 香蕉
请创建一个工作片段。也许在它周围有一个div来接收点击?@Luca Maybe。。。我希望避免额外的元素可能的重复除了重复之外,在同一主题上的其他Q/A示例:和