2011-12-15 17 views
3

jQuery Mobileは、メニューがオーバーレイとして表示されるこれらの素晴らしいカスタム選択メニューを提供します。これらのオプションにonclick関数をアタッチしようとしていますが、jQuery Mobileはオプションタグを独自の生成タグで置き換えるためです。私は、 "オプション"(実際にはスタイル付きリンクとして生成される)にアタッチする関数を得ることはできません。jQuery Mobileの選択メニュー

答えて

5

むしろどのよう<select>要素のchangeイベントへの結合については、「フェイク・オプション」の要素についてclickイベントへの結合より:http://jsfiddle.net/PQ39n/

注:デモです。ここ

$('#the-select').on('change', function() { 
    var $this = $(this), 
     val = $this.val(); 
}); 

その.on()はjQuery 1.7で新しく、この場合は.bind()と同じです。

EDIT

あなたは "偽・オプション" の要素についてclickイベントにバインドしたい場合:ここで

$('#the-page').on('click', '.ui-selectmenu-list > li', function() { 
    alert('onClick = ' + $('#the-select').children().eq($(this).attr('data-option-index')).val()); 
}); 

はデモである:(上記と同じデモ)http://jsfiddle.net/PQ39n/

この例では、.on().delegate()と同じです。

+0

selectの 'change'イベントにバインドするのは素晴らしいフォールバックですが、応答が非常に遅いため、必ずしも有用ではありません。ハプティックフィードバック(オプション選択時にバズ)を与えたい場合、選択メニューが値を変更するまでフィードバックを待つことは有用ではありません。 – Wytze

関連する問題