4

jqueryに詳しくないので、無知で申し訳ありません。dojo.connect() に相当するものはありますか?

私はこの解決策を見つけました: http://think-robot.com/2009/06/hitch-object-directional-event-handlers-with-jquery/

しかし、切断機能はありません!

jquery の他のソリューションを知っていますか? jquery.connect がありますが、このプラグインは私のテストでは機能しません。

助けてくれてありがとう、
ステファン

4

4 に答える 4

3

最も近い同等の jQuery は.bind()、たとえば次のとおりです。

$("#element").bind('eventName', function(e) {
 //stuff
});

.unbind()ハンドラを削除するには、次のようにします。

$("#element").unbind('eventName');

のショートカットも.bind()あるので、たとえば次のclick2 つの方法で実行できます。

$("#element").bind('click', function() { alert('clicked!'); });
//or...
$("#element").click(function() { alert('clicked!'); });

動的に作成された要素など、直接アタッチされるのではなく、バブリングに基づくイベント ハンドラー用の ( to unbind) および ( to unbind).live().die()あり.delegate()ます。.undelegate()

上記の例は無名関数でしたが、次のように、dojo (または実際には任意の JavaScript) と同じように直接関数を提供できます。

$("#element").click(myNamedFunction);
于 2010-05-23T10:36:03.590 に答える
2

dojo.connect() と同等とはどういう意味ですか?

独自のカスタム イベント ハンドラーを作成する場合は、Eventsのbind()trigger()、およびproxy()を参照してください。

proxy()関数を使用すると、コールバック関数でこれが指すものを再定義できます

于 2010-05-23T10:45:18.763 に答える
1

jQueryconnectはdojo.connectと同等です。

于 2011-07-13T04:02:48.193 に答える
1

そのようなものはありませんが、次のようにして同じことを達成できます。

$('#someid').click(function() { SomeFunc($(this)) });

これにより、somefunc が ID "someid" のコントロールのクリック イベントに接続されます。コントロールがクリックされると関数が呼び出され、パラメーターはクリックされたコントロールを参照する jquery オブジェクトになります。

更新私はもう少し調査を行ったところ、.delegate()があなたが望むものに近いと思います。

于 2010-05-23T10:32:15.837 に答える