0

イベントに<select>応答したいclick(javascript を使用) があります。MacOS Chrome では、クリック時にイベントは発生しません。これは既知の問題です (例: 12、…)

<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 に答える