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 № 1Za 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