/ / jQuery: Łańcuch działań na tym samym obiekcie - jquery, łańcuchowanie, jquery-easyui

jQuery: Łańcuch akcji na tym samym obiekcie - jquery, łańcuch, jquery-easyui

Wiem, że istnieją już różne pytania dotyczące łączenia jQuery, ale nie mogłem znaleźć odpowiedzi na to (prawdopodobnie raczej proste) .Najlepiej nowicjusz do jQuery.

To, czego szukam, to krótki sposób zastosowania różnych akcji / zdarzeń do tego samego obiektu. Dokładniej, mam następujący kod

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

Czy istnieje sposób, aby nie pisać? .dialog trzy razy, ale raczej coś na wzór

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

? Nie znam jeszcze składni, więc nie mam pojęcia, czy argumenty muszą występować w nawiasach klamrowych, średnikami pomiędzy, przecinkami, czy ... Dzięki za pomoc!

P.S .: Okno dialogowe w tym przykładzie to okno dialogowe jQuery EasyUI, jeśli robi to jakąkolwiek różnicę.


Aktualizacja: Widząc, że odpowiedź na moje pytanie wydaje się być "nie", jaka byłaby Najlepiej sposób napisania powyższego polecenia? To znaczy. jest

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

lepiej / gorzej pod względem wydajności w porównaniu z linią powyżej, czy jest jeszcze inny (lepszy) sposób? Dzięki za szybką pomoc!

Odpowiedzi:

2 dla odpowiedzi № 1

Za to, co robisz, w zasadzie nie maalternatywny. Możesz zrobić coś szalonego z pętlą, ale na koniec dnia to tylko komplikuje i chyba że robisz to setki razy w swoim kodzie, to nie jest warte wysiłku.

Zakładam, że zdajesz sobie sprawę, że możesz przekazać obiekt zawierający różne wartości w jednym wywołaniu, aby zainicjować okno dialogowe, zgodnie z dokumentacją EasyUI:

$("#dd").dialog({
title: "My Dialog",
width: 400,
height: 200,
closed: false,
cache: false,
href: "get_content.php",
modal: true
});

1 dla odpowiedzi nr 2

Nie. W jQuery nie ma sposobu, aby to osiągnąć, ale można sprawdzić konkretne implementacje dla każdej pomocy.

Inne rozwiązanie do testowania będzie destroy i za każdym razem twórz dialog.

$("#dlg").dialog("destroy");
$("#dlg").dialog({....})

0 dla odpowiedzi № 3

Możesz być w stanie ustawić niektóre parametry widgetu na raz, ale potem musisz jeszcze wywołać metodę "open"

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

widzieć dokumentacja do informacji o parametrach dialogowych i podpisach widgetów