webentwicklung-frage-antwort-db.com.de

trigger Body Click mit jQuery

Ich kann mit jQuery keinen Klick auf das Body-Tag auslösen. Ich verwende ...

$('body').click();

auch das scheitert

$('body').trigger('click');

Irgendwelche Ideen?!

8
ruturaj

interessanterweise .. als ich ersetzt habe

$("body").trigger("click")

mit

jQuery("body").trigger("click")

ES FUNKTIONIERTE!!!

11
ruturaj

Sie sollten so etwas haben:

$('body').click(function() {
   // do something here
});

Die Rückruffunktion wird aufgerufen, wenn der Benutzer irgendwo auf die Webseite klickt. Sie können den Rückruf programmgesteuert auslösen mit:

$('body').trigger('click');
9
kgiannakakis

Ich habe den folgenden Code ein paar Mal verwendet und es funktioniert süß:

$("body").click(function(e){
  //you can then check what has been clicked
  var target = $(e.target);  
  if (target.is("#popup")) { }
}); // Added ); this for correct syntax
5
Fermin

wenn alles gesagt wurde, dass es nicht funktioniert, kehren Sie zu den Grundlagen zurück und testen Sie, ob dies funktioniert:

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
  </head>
  <body>
    <script type="text/javascript">
      $('body').click(function() {
        // do something here like:
        alert('hey! The body click is working!!!')
      });
    </script>
  </body>
</html>

dann sag mir, ob es funktioniert oder nicht.

2
Seeker

Wie von Seeker erwähnt, besteht das Problem möglicherweise darin, dass Sie die Funktion click() zu früh eingerichtet haben. Aus Ihrem Code-Snippet können wir nicht ablesen, wo Sie das Skript platziert haben und ob es zum richtigen Zeitpunkt ausgeführt wird.

Ein wichtiger Punkt ist, solche Skripte auszuführen, nachdem das Dokument fertig ist. Dies erfolgt durch Platzieren der click()-Initialisierung in dieser anderen Funktion wie in:

jQuery(document).ready(function()
  {
    jQuery("body").click(function()
      {
        // ... your click code here ...
      });
  });

Dies ist normalerweise die beste Methode, insbesondere wenn Sie Ihren JavaScript-Code in Ihr <head> -Tag einfügen. Wenn Sie es ganz unten auf der Seite einfügen, ist die Funktion ready() weniger wichtig, kann aber dennoch nützlich sein.

0
Alexis Wilke