jQuery ajaxStart - nur im Exposed Filter triggern?
Eingetragen von Ionit (1802)
am 08.12.2013 - 22:10 Uhr in
am 08.12.2013 - 22:10 Uhr in
Hallo Freunde,
wenn bei mir auf der Views-Page der Exposed-Filter geändert wird (mit Ajax) lasse ich mit folgendem JS den gehideten ".ajax-prozess"-Container anzeigen (show). Ist der Ajax-Prozess sucess, wird er wieder gehidet.
<script type='text/javascript'>
jQuery(document).ajaxStart(function() {
jQuery( ".ajax-prozess" ).show();
});
jQuery(document).ajaxSuccess(function() {
jQuery( ".ajax-prozess" ).hide();
});
</script>
Das Problem hierbei ist, dass diese Function auch getriggert wird wenn der Pager im Footer (mit Ajax) angeklickt wird - sprich - auch wenn man auf den Pager klickt, wird der ".ajax-prozess"-Container angezeigt. Das möchte ich nicht!
Frage: Wie kann ich .ajaxStart und .ajaxSuccess an den Exposed-Filter-Container "binden" sodass er nur darüber getriggert wird - aber nicht über den Pager?
Danke und Gruß
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
Oh das Problem hatte ich auch
am 09.12.2013 - 11:00 Uhr
Oh das Problem hatte ich auch einmal. Am Ende lief es dann darauf hinaus, dass ich mir die normale Ajax Ladegrafik (throbber) genommen habe und dort per CSS einfach meine Dinge getan habe.
Der Drupal-Ajax Throbber wird in einem DIV mit der Klasse .loading ausgegeben - den kann man im CSS des Themes problemlos überschreiben/ anders positionieren.
So brauchst du dich nicht an Ajax Events hängen und bekommst (wenn ich dein Anliegen richtig sehe) das Problem einfach / schnell gelöst.
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Ich hol das Thema nochmal
am 28.03.2014 - 16:08 Uhr
Ich hol das Thema nochmal hervor. Gibt es keine Möglichkeit die Herkunft des Triggerns herauszufinden? Ich habe einen Infinite Pager mit Exposed Filters, möchte aber eine Animation nur auslösen wenn die Exposed Filter verändert werden. Es geht nicht um eine Ladeanimation sondern um ein hochsliden des alten und runtersliden des neuen Inhalts.