2011-12-22 29 views
2

のために働いていない上にあります。何か案は?私が直接選択にバインドする場合、それはまだ動作します。はなぜdelagate&jqueryのselectmenu

最新の選択メニューのgit repoはUI 1.9のdevとは異なりますが、悲しいところは覚えていません。

私は運がないと "on"しようとしていたはずです。

NOTE selectmenuプラグインが$.ui.widgetを拡張し、内部ので"selectmenuopen"を探すために右のイベントを作り、プラグインのプレフィックスを追加します._trigger("open")を呼び出します。 Bindingは、これが正しいイベントであることを完全に証明しています。

+0

jQuery 1.7を使用している場合は、 'live()'、 'delegate()'および 'delegate()'を置き換える['on()'](http://api.jquery.com/on) 'bind()'関数名を変更する以外に、 'on()'に変換するために必要なことは、最初の2つのパラメータの順番を入れ替えることです。 – Matt

+0

申し訳ありませんでしたが、私もそれを試してみました。更新された投稿。 –

+0

'delegate'、' bind'、 'live'はいずれも' on'を呼び出しますが、それは問題ではありません – Esailija

答えて

0

答えを見つけたときにこれを忘れてしまった... jQuery 1.7を正しく動作させるには、jQuery UIを1つのバージョンでアップグレードしなければならなかった。まだ他のすべてのプラグインがこのプラグインを除いて完璧に動作していたので私はちょっと気付かなかったことは私にとっては奇妙なことです。

0

あなたはあなたではなくdelegateよりonを使用する必要がありますjQueryの1.7を使用している場合:

$('#form').on('selectmenuopen', 'select', function() { 
    // your code 
}); 

More information on on()

+1

これはonの構文が間違っています。あなたは$( '#form')を意味しますon( 'selectmenuopen'、 'select'、コールバック); –

+0

Woopsはい...私は自分自身にリンクしていたAPIドキュメントに従ってDoh! – isNaN1247

0

あなたのコードを書かれている方法を、あなたは「という名前のカスタムイベントに結合しているselectmenuopen 「

行うための最善のことは、あなたが

jQuery(document).trigger('selectmenuopen'); 
のようなものをやっていることを確認しています

または

jQuery('#form').trigger('selectmenuopen'); 

またはイベントが発生することはありません。

+0

上記を参照してください私はちょうど追加しました –

関連する問題