禁用的元素,如<select>
和<input>
不会对点击事件做出反应,我试图将它们包装在<div>
中,并听取它的单击事件。点击禁用的select元素不会触发它的父级上的点击或mousedown事件
点击一个被禁用的<input>
触发点击它的容器<div>
,但我遇到了<select>
元素的问题。单击禁用的<select>
元素不会触发它的容器<div>
的单击,如您在此JSFiddle Example中所看到的。
HTML:
<button onclick="buttonClick()" >Click</button>
<div id="test"></div>
JS:
buttonClick = function(){
var editor = $("#test");
var div=$("<div>")
.mousedown(function() {
alert("!!!");
})
.appendTo(editor);
var selecttest = $("<select>")
.attr("disabled", "disabled")
.appendTo(div);
$("<option />").attr("value", '').appendTo(selecttest);
};
如果我使用的,而不是<select>
下面的代码添加<input>
,它的工作原理:
var textinput = $("<input>")
.attr("type", "text")
.attr("disabled", "disabled")
.appendTo(div);
测试不同的浏览器: 对于IE11:对于它的工作原理是和select
。
对于Firefox:对于input
和select
都不起作用。
For Opera and Chrome:for input
it works,for select
it does not work。
对于IE11:对于input和select都有效。对于Firefox:对于“输入”和“选择”都不起作用。对于Opera和Chrome:''input'可以工作,'select'不起作用。 – user2889383 2014-10-22 09:41:59
因此,当您单击输入或选择字段时,您希望mousedown事件在父级上触发?如果这是你的问题,你可以添加指针事件:无到禁用输入和选择,然后无论你点击父div它会触发附加到它的事件:) – 2014-10-22 09:50:01
我正在阅读有关指针事件,我会尝试使用它,谢谢:) – user2889383 2014-10-22 09:57:57