1

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

html

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

jQuery

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

2 回答 2

2

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/

希望这可以帮助 :-)

于 2012-04-26T20:27:27.043 回答
1

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

$("#TaskId").prop("disabled", true);
于 2012-04-26T22:07:21.947 回答