使用 jQuery 禁止默认下拉功能
Suppress default dropdown functionality with jQuery
我以为这会起作用,但它没有,我错过了什么?
.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);
相关文章:
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- 如何在应用切换点击功能之前,默认情况下在页面加载时隐藏带有特定类的ul-li
- 防止两个默认功能发生,并同时触发第三个事件
- 将事件处理程序放在HTML按钮上,而不覆盖其默认功能
- 默认浏览器's的拖放功能
- jQuery阻止下拉菜单中的默认功能
- iScroll 4 – 恢复默认/本机缩放功能
- 如何在元素的默认行为之后运行单击功能
- 使用 jQuery 覆盖默认的 JavaScript 功能
- ES6导出默认功能
- 如何防止 JQuery 中的默认选项卡切换功能
- 预防默认功能:什么是真正的效用
- 使用 jQuery 禁止默认下拉功能
- 在自定义点击功能之前执行默认事件
- CSS缩小Magento的默认功能不起作用
- 更改对象的默认功能
- Fullcalendar:禁用默认日期单击功能
- 骨干网默认错误获取功能
- 防止默认在功能中不起作用
- 如何停止onbeforeunload的默认行为和做我自己的功能