2

jQueryチェーンについてはすでにさまざまな質問があることは知っていますが、これに対する答えは見つかりませんでした(おそらくかなり単純なものです)。jQueryの初心者を許してください。

私が探しているのは、同じオブジェクトにさまざまなアクション/イベントを適用する簡単な方法です。具体的には、次のコードがあります

$('#dlg').dialog('open').dialog('setTitle','Title').dialog('refresh','dlg.html');

.dialog3回書くのではなく、

$('#dlg').dialog(action 1, action 2, etc.)

?私はまだ構文に精通していないので、引数を中括弧で囲む必要があるのか​​、セミコロンを間に入れる必要があるのか​​、コンマにする必要があるのか​​、それとも...助けてくれてありがとう!

PS:この例のダイアログは、違いがあればjQueryEasyUIダイアログです。


更新:私の質問に対する答えが「いいえ」のように見えるのを見て、上記のコマンドを書くための最良の方法は何でしょうか?つまり、

$('#dlg').dialog('open')
$('#dlg').dialog('setTitle','Title')
$('#dlg').dialog('refresh','dlg.html')

上記の行と比較して効率の点で良い/悪いですか、それとも別の(より良い)方法がありますか?クイックヘルプをありがとう!

4

3 に答える 3

2

あなたがしていることについては、基本的に代替手段はありません。ループで何か狂ったことをすることもできますが、結局のところ、複雑さが増すだけであり、コード全体でこれを何百回も実行しない限り、努力する価値はありません。

EasyUI docs に従って、1回の呼び出しでさまざまな値を含むオブジェクトを渡してダイアログを開始できることを認識していると思います。

$('#dd').dialog({  
    title: 'My Dialog',  
    width: 400,  
    height: 200,  
    closed: false,  
    cache: false,  
    href: 'get_content.php',  
    modal: true  
});  
于 2013-03-05T12:27:16.910 に答える
1

いいえ、jQuery ではこれを実現する方法はありませんが、サポートされている特定の実装を確認できます。

テストする別のソリューションはdestroy、毎回ダイアログを作成して作成します。

$('#dlg').dialog('destroy');
$('#dlg').dialog({....})
于 2013-03-05T12:23:39.410 に答える
0

ウィジェット パラメータの一部を一度に設定できる場合がありますが、後で「open」などのメソッドを呼び出す必要があります。

$('#target').dialog(
    width: 400,  
    height: 200,
    title:,
    // ...
}); 
$('#target').open()
// ...

ダイアログのパラメーターとウィジェットの署名に関する情報については、ドキュメントを参照してください

于 2013-03-05T12:32:40.557 に答える