4 に答える
2
次のようにjQuery のone
関数を使用して、いくつかのイベントを連鎖させることができます。
$('select').one('click', firstClick);
function firstClick(evt) {
//do anything you might want to do
$(evt.target).parent().one('click', secondClick);
}
function secondClick(evt) {
//again, do you thing
$(evt.target).parent().one('click', firstClick);
}
このone
関数は、指定したイベント ハンドラーを 1 回実行してから削除します。このソリューションを使用すると、クリックするたびにハンドラーを切り替えることができます。これを使用する場合は注意してください。blur
最初のハンドラーをリセットするには、イベントを処理する必要もあります。
jQuery のlive
関数を使用して、作成するイベント ハンドラーの数を最小限に抑え、メモリを節約することもできます。これにより、最初のソリューションで予見できたいくつかの問題も回避できます。
$('select option').live('click', selectHandler);
function selectHandler(evt) {
//insert magic here
}
于 2009-09-21T16:59:10.330 に答える
1
尋ねられた質問を満たすと私が思うピートの答えのjQueryバージョン
$("option").click(function(){
alert($(this).text());
});
編集
上記はクロスブラウザではないため、検索を行ったところ、スタックオーバーフローに関する投稿が役立つ可能性があります。
于 2009-09-21T16:57:09.813 に答える
0
コンボボックスの各オプションで常に onclick を使用できます。きれいではありませんが、うまくいくはずです:
<select>
<option onclick="alert('May');">May</option>
<option onclick="alert('June');">June</option>
<option onclick="alert('July');">July</option>
</select>
于 2009-09-21T15:32:39.160 に答える
0
選択が変更された場合、onchange
メソッドが呼び出されます。
于 2009-09-21T15:25:01.373 に答える