使用 jQuery 禁止默认下拉功能

Suppress default dropdown functionality with jQuery

本文关键字:功能 默认 jQuery 禁止 使用      更新时间:2023-09-26

我以为这会起作用,但它没有,我错过了什么?

.html

<select id="TaskId">
 <option>A list of options</option>
</select>

jQuery

<script type="text/javascript">
 $("#TaskId").click( function(e){
    e.preventDefault();
 });
</script>

e.preventDefault 在下拉菜单的点击上下文中不起作用,请使用以下命令:

代码 1:

$("#TaskId").mousedown(function(){
   return false;
});

您也可以使用它:

代码 2:

$("#TaskId").mousedown(function(e){
   e.preventDefault();
});

警告:e.preventDefault() 在 Firefox 和 Opera 中存在事件处理错误。

这可能是您要实现的目标的一种解决方案:

代码 3:玩一下:

$("#TaskId").prop('disabled', true);
$("#TaskId").prop('disabled', false);

代码 4:如果您不想禁用所有事件处理,请查看此示例,该示例可能会有所帮助:

代码 4 演示:http://jsfiddle.net/AHEex/

代码 1 和 2 的演示:http://jsfiddle.net/oscarj24/JcpPU/

希望这有帮助:-)

为什么不简单地禁用选择字段?它既会导致所需的行为,又向用户显示发生了什么。而不是安装点击侦听器,只是

$("#TaskId").prop("disabled", true);