0

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

例子

<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事件”答案的问题的重复。这不是我要问的。

4

1 回答 1

-1

使用mousedown事件:

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

请注意,在用户可以在菜单中选择另一个选项之前触发 -.val()返回当前值。我尝试使用mouseup,但没有触发。

小提琴

于 2013-07-15T15:28:53.077 回答