在IE上捕获HTML选项元素的鼠标事件
-
10-07-2019 - |
题
对于Internet Explorer,似乎<select />
元素上的点击,mousedowns,mouseups,mouseovers等的目标(srcElement)不会绑定到<option />
元素。
给出以下HTML:
<select id="madness">
<option value="1">One</option>
<option value="2">Two</option>
<option value="2">Three</option>
</select>
和这个基本的jQuery事件处理程序:
$("#madness").mousedown(function(e){
alert(e.target.value); //jQuery pushes srcElement into the target for us here
});
e.target
或e.srcElement
中的对象始终等于document.elementFromPoint(e.clientX,e.clientY)
而不是<=>。
我决定发挥创意并尝试使用<=>并返回SELECT元素。
这带来了一个问题,有什么办法可以通过事件参数,坐标或其他任何东西来确定<=>内部的<=>?我知道我可以通过可滚动的div复选框来伪造它。出于这个问题的目的,我想要任何可以使用原生选择元素的解决方案。
解决方案
简单地说,没有使用原生选择元素的解决方案。
其他提示
你可以这样做:
$("#madness").val()
获取所选<!> lt;选项/ <!> gt;。
的值不隶属于 StackOverflow