html - 禁用在 HTML <SELECT> 控件上触发的事件

标签 html javascript html-select

有没有一种方法可以在 HTML 控件上触发的事件转发给控件本身进行默认(通用)处理之前捕获这些事件。就我而言,我想阻止元素下拉列表在用户单击控件时打开。例如在此用户单击时,将触发 OnClick() 事件并由打开下拉列表的默认控件处理。我想阻止这一切发生。

我能否将自定义函数附加到此事件并将事件处理重定向到此事件而不是打开下拉列表的默认代码?

谢谢

最佳答案

onclick、onmousedown 和 onmouseup 不会帮助您阻止打开选择框。我不是问你为什么要这样做,但如果你真的不能使用任何其他解决方案,例如(将选择框更改为只读输入框),那么,你可以尝试下一个解决方案。

防止框打开的一种方法是创建一个覆盖容器,它将阻挡选择的可聚焦区域。这可以通过将 div 放在选择框之后并为其指定选择框的大小和位置来实现。

<div style="position:relative;">
    <select style="width:100px;height:30px">
        <option>hello</option> 
    </select>
    <div style="position:absolute;
          left:0;
          top:0;
          width:100px;
          height:30px;
          z-index:2;
          background-color:black;
          opacity:0;filter:Alpha(Opacity='0');"
    ></div>
</div>

然后事件,它只适用于 IE >= 7。不适用于 IE6,因为 IE6 中的选择框很奇怪(也许你可以尝试用一些 iframe hack 修复 IE6);

关于html - 禁用在 HTML <SELECT> 控件上触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1905858/

相关文章:

javascript - CKEditor 不显示图像数据

jquery - 计算具有相同 id JQUERY 的 div 元素

java - 额外的 & 符号在请求中设置,从而导致错误响应

css - bootstrap selectpicker 下拉列表中的内联元素

javascript - 根据表格内容创建一个选择选项下拉列表

javascript - 如何将整个 Div 设为 Button?

javascript - 如何在 HTML 中点击图像时播放声音?

html - 如何隐藏 optgroup 标签?

javascript - 为什么javascriptmvc应用程序中js表达式末尾没有分号?

javascript - 我如何在 jquery 中加载页面后发送数据