答案 0 :(得分:1)
您无法绑定到javascript中的禁用字段。您可以选择围绕{select区域创建一个div,以接收Alex所述的点击事件,或者,如果您确实不想要其他元素,则可以将select框保持启用状态,将其设置为禁用状态,并立即使点击模糊。这不是一个很干净的解决方案,但我不知道您对添加元素的限制。
$("#select1").click(function(){
$(this).blur();
});
.disabled{
color: #bababa;
background-color: #f0f0f0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<select id="select1" class="disabled">
<option value='1' >apple</option>
<option value='2' >banana</option>
</select>
</form>
答案 1 :(得分:0)
这是解决您问题的解决方法。
您可以将div
覆盖在选择区域上,并在加载后检查disabled
是否为{em> NOT disabled
,我们使用{{1} }删除叠加层,否则,我们将其保留在那里以将.remove()
事件挂接到其上。
.on('click'...)
let disabled = $('#select1').is(':disabled')
if (!disabled) {
$('#test').remove();
}
$('#test').on('click', function(e) {
alert("sorry this selector is disabled");
});
#test {
position: absolute;
width: 68px;
height: 17px;
}