select上的Click事件在mac上不起作用

时间:2013-07-15 15:21:45

标签: javascript macos google-chrome

我有<select>想要回复click事件(使用javascript)。 在MacOS Chrome上,点击时不会触发任何事件。这是一个已知问题(例如12,...)

Example

<select id='hodor'>
    <option>Jon Snow</option>
    <option>Joffrey</option>
</select>

$('#hodor').on('click change', function (e) {
    $(this).after("<li>"+e.type+"</li>");
});

我已经知道我可以使用change事件(我已经使用过)。但是最终用户的行为是不同的,我需要让它正常工作:一旦点击我的选择,我希望我的UI做一些事情 - 不仅仅是当所选的选项被更改时

我的替代方案是什么?

请注意:这是其他问题的副本,允许“使用change事件”答案。那不是我要问的。

1 个答案:

答案 0 :(得分:-1)

使用mousedown事件:

$('#hodor').on('mousedown', function (e) {
    $(this).after("<li>"+e.type+" " + $("option:selected", this).val() + "</li>");
});

请注意,在用户可以在菜单中选择其他选项之前会触发此操作 - .val()会返回当前值。我尝试使用mouseup,但这并未触发。

FIDDLE