Internet Explorer 10 - jQuery单击选择选项不起作用

时间:2013-07-01 14:27:33

标签: javascript jquery internet-explorer internet-explorer-10

我尝试将事件jQuery事件监听器click(function(){//doStuff})映射到<option>元素,但是在点击/焦点上,IE不会执行我的功能。

在FF和Chrome中,它完美运行。在IE10中,单击选项不起作用;既不是HTML元素onClick="doFunction()"也不是on.('click',...)事件。

以下是jsFiddle

<select id="someId" name="someName" size="10" multiple="yes">
<option value="ALL">--All--</option>
<option value="X1">X1</option>
<option value="X2">X2</option>
<option value="X3">X3</option>
<option value="X4">X4</option>
<option value="X5">X5</option>
<option value="X6">X6</option>
<option value="X7">X7</option>
<option value="X8">X8</option>
<option value="X9">X9</option>
</select>


$(document).ready(function () {
    $('#someId option[value="ALL"]').click(function () {
        $('select option').attr('selected', true);
        $('select option[value="ALL"]').eq(0).attr('selected', false);
    });
});

1 个答案:

答案 0 :(得分:4)

维利亚姆,我恐怕有坏消息。 IE10不会真正触发“click”事件选项,而是仅触发“select”选项。所以你可以做的就是选择“click”事件处理程序,跟踪选定的值并对其采取行动。

Demo

$('#someId').click(function () {
    if ($("#someId option:selected").eq(0).val() === 'ALL') {
        $('select option').prop('selected', true);
        $('select option[value="ALL"]').eq(0).prop('selected', false);
    }
});