0

私はスタックオーバーフローが初めてで、これが私の最初の質問です。間違いはご容赦ください。この質問はより一般的ですが、回答を検索しようとしましたが、見つかりませんでした。

ページがあり、すべてのボタンに jquery ui button() ウィジェットを使用しているとします。何が起こるかというと、ページ上のすべてのボタンに対して特定のクラスが定義されています。したがって、 $('.myButtonClass').button(); を指定するだけです。しかし、ボタンを持つ部分ビューを再びレンダリングするときはいつでも、部分ビューで同じことをしなければなりません。ボタンまたはその要素のトランジションをグローバルに指定できる方法はありますか。

これは、クリック時にボタンを追加するサンプル Fiddle です。しかし、追加されたボタンはボタン ウィジェットとしてのトランジションではありません (クローンを使用したくありません)。

http://jsfiddle.net/wjxn8/

$('.clsTest').button().click(function(){
    $(this).after('<input type="button" value="Added" class="clsTest"/>');
});

これはなしで可能ですか:- 1) 作成されたすべてのボタンに対して、ボタン ウィジェットの css クラスを手動で追加します。2) Javascript を使用して DOM の変更を追跡し、すべてのボタン要素の遷移を実行します。

ご協力いただきありがとうございます!!!

4

2 に答える 2

3

何か他のものを探していたので、パーシャルなどをロードするときにカスタムイベントをトリガーしてみませんか:

$('.clsTest').button().click(function(){
    $(this).after('<input type="button" value="Added" class="clsTest"/>').trigger('addButtonUI');
});
$(document).bind('addButtonUI',function(){
    $('.clsTest').button();
});

http://jsfiddle.net/wJXN8/3/

イベントをトリガーし、ドキュメントがリッスンしている場合は、好きなことを行うことができます。さらにボタンを追加する機能をそこに入れることもできましたが、これは要点を理解するはずです.

あなたが求めているのは、ボタンが追加されたときのイベントです....自分でそれを考え出し、ボタンが追加されたときにそれをトリガーする必要があります。これがあります:jQueryで新しい要素の作成を検出する方法は? 新しい要素が DOM に追加されたときにトリガーされる特定のイベントについて説明します。テストしていませんが、IE では動作しないようです。

于 2013-04-13T04:34:56.770 に答える