在IE上捕获HTML选项元素的鼠标事件

时间:2009-10-29 13:44:36

标签: javascript jquery internet-explorer select option

对于Internet Explorer,似乎<select />元素上的点击,mousedowns,mouseups,mouseover等的目标(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.targete.srcElement中的对象始终等于<select />而不是<option />

我决定发挥创意并尝试使用document.elementFromPoint(e.clientX,e.clientY)并返回SELECT元素。

这带来了一个问题,有没有办法通过事件参数,坐标或其他任何东西来确定<option />里面的<select />?我知道我可以通过可滚动的div复选框来伪造它。出于这个问题的目的,我想要任何可以使用原生选择元素的解决方案。

2 个答案:

答案 0 :(得分:2)

简单地说,没有使用原生选择元素的解决方案。

答案 1 :(得分:0)

你可以这样做:

$("#madness").val()

获取所选&lt;选项/&gt;。

的值