Jquery onclick auf div

Lesezeit: 2 Minuten

Ich habe eine einfache Frage. Der folgende Code funktioniert für alle Tags:

$('*').click(function(e) {  
    alert(1);
});

Aber wenn ich diesen Code für das div mit der ID “content” versuche:

$('#content').click(function(e) {  
    alert(1);
});

Was mache ich falsch ?

  • Ich weiß nicht, was machst du falsch (wie im Fehler/unerwartet)?

    – Jared Farrish

    12. August 2011 um 0:10 Uhr

Benutzer-Avatar
Steve Robbin

Stellen Sie sicher, dass es sich innerhalb eines Document-Ready-Tags befindet. Versuchen Sie es alternativ mit .live

$(document).ready(function(){

    $('#content').live('click', function(e) {  
        alert(1);
    });
});

Beispiel:

$(document).ready(function() {
    $('#content').click(function(e) {  
      alert(1);
    });
});
#content {
    padding: 20px;
    background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="content">Hello world</div>

Ab jQuery 1.7 ist die .live()-Methode veraltet. Verwenden Sie .on(), um Ereignishandler anzuhängen.

$('#content').on( "click", function() {
    alert(1);
});

Nichts.

$('#content').click(function(e) {  
    alert(1);
});

Wird an ein binden vorhandenen HTML-Element mit der auf gesetzten ID contentund zeigt beim Klicken ein Meldungsfeld an.

  • Stelle sicher das #content existiert, bevor dieser Code verwendet wird
  • Dass die ID ist einzigartig
  • Überprüfen Sie Ihre Javascript-Konsole auf Fehler oder Probleme

js

<script
  src="https://code.jquery.com/jquery-2.2.4.min.js"
  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
  crossorigin="anonymous"></script>


<script type="text/javascript">

$(document).ready(function(){
    $("#div1").on('click', function(){
            console.log("click!!!");
        });
});

</script>

html

<div id="div1">div!</div>

Darf das div mit id=”content” nicht erstellt werden, wenn dieses Event angehängt wird? Sie können die jquery-Methode live() ausprobieren.

Andernfalls gibt es möglicherweise mehrere Divs mit derselben ID oder Sie haben es einfach falsch geschrieben, es passiert …

Benutzer-Avatar
ShankarSangoli

Geben Sie den Code ein $(document).ready() Methode bzw $().

$(function(){

$('#content').click(function(e) {  
    alert(1);
});

});

  • Wann immer Sie ein Element finden oder einen Event-Handler an Dom-Elemente anhängen möchten, stellen Sie sicher, dass Sie dies tun $() oder $(document).ready() Methode. $("*") funktioniert, weil es ein Ereignis an das Dokument anfügt und den Ereignis-Bubling-Mechanismus verwendet, um die Ereignishandler auszuführen.

    – ShankarSangoli

    12. August 2011 um 0:22 Uhr

Benutzer-Avatar
Amin Eshaq

Schau dir das an Geige … du machst es richtig. Stellen Sie sicher, dass die ID Inhalt ist, und überprüfen Sie auch, ob es keine anderen Elemente mit derselben ID gibt. Wenn es mehrere Elemente mit derselben ID gibt, wird es an das erste gebunden. Das ist vielleicht der Grund, warum du es nicht siehst.

  • Wann immer Sie ein Element finden oder einen Event-Handler an Dom-Elemente anhängen möchten, stellen Sie sicher, dass Sie dies tun $() oder $(document).ready() Methode. $("*") funktioniert, weil es ein Ereignis an das Dokument anfügt und den Ereignis-Bubling-Mechanismus verwendet, um die Ereignishandler auszuführen.

    – ShankarSangoli

    12. August 2011 um 0:22 Uhr

1256760cookie-checkJquery onclick auf div

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy