我想使用纯JavaScript(由于应用程序架构)来禁用html页面上的click事件。
我试过了
document.body.addEventListener("click", function (evt) { evt.preventDefault(); });
Run Code Online (Sandbox Code Playgroud)
但它仍然打开我的选择。
我select仅用作示例,我想针对每个控件执行此操作。
这是小提琴
更新
无法使用,pointer-events:none;因为我在WPF应用程序内部使用了它,遗憾的是它使用了令人沮丧的浏览器(称为)IE。
添加简单的 css,
pointer-events: none,如果将其提供给 body 元素,则 evty click 将被禁用。
<html>
<body style="pointer-events: none">
<select>
<option>a</option>
<option>b</option>
</select>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
请运行代码片段
<select style="pointer-events: none">
<option>a</option>
<option>b</option>
</select>
Run Code Online (Sandbox Code Playgroud)
为 IE 编辑:
<select style="pointer-events: none">
<option>a</option>
<option>b</option>
</select>
Run Code Online (Sandbox Code Playgroud)
document.addEventListener("click",handler,true);
function handler(e){
e.stopPropagation();
e.preventDefault();
}
function cancelDropDown(ev) {
ev.preventDefault();
}
var showMenu = document.getElementsByClassName("selectElement");
// ...
for ( var i = 0; i < showMenu.length; ++i ) {
showMenu[i].addEventListener("mousedown", cancelDropDown, false);
} Run Code Online (Sandbox Code Playgroud)
您可以通过CSS轻松实现
<select style="pointer-events:none;">
<option>a</option>
<option>b</option>
<select>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6517 次 |
| 最近记录: |