2017-02-09 11 views
0

Ich versuche eine Website zu erstellen, die jedes Mal zählt, wenn der Benutzer mit der Maus klickt. Ich habe diesen Teil nach unten, aber ich muss auch eine Reset-Taste, die, nachdem der Benutzer klickt, beginnt den Mausklick Zähler von 0 zurück.jQuery Mausklickzähler - Wie wird zurückgesetzt?

Ich kann es nicht herausfinden - wenn ich die var = 0 über bewegen Das Dokument ist bereit, es wird zurückgesetzt, aber nachdem der Knopf geklickt wurde, geht der Zähler niemals über 1. Ich bin mir nicht sicher, was ich tun soll.

Mein Skript -

$(document).ready(function(){ 
    console.log("Here"); 


    $(document).click(function(e) { 
     $('#location').append("("+e.clientX+", "+e.clientY+")<br>"); 
    }); 

    var counter = 0; 
    $(document).click(function(e) { 
     counter++; 
     $("#mouseclick").text("Total mouse clicks: " + counter); 
    }); 

    $('button').click(function(e) { 
     e.stopPropagation(); // stop the event from propagating up the visual tree 
     $('#location').text(""); 
     $("#mouseclick").text("Total mouse clicks: 0"); 
    }); 

    $('button') 
}); 

ich sie müssen in der Lage ‚Taste‘ klicken und die Zählung wird zurückgesetzt. Irgendein Rat?

+0

Erster Zähler = 0; dann $ ("# mouseclick"). text ("Gesamtzahl der Mausklicks:" + Zähler); =) –

+0

Was ist "$ ('button')" am Ende? –

+0

Setzen Sie in Ihrem Button-Click-Event einfach 'counter = 0' –

Antwort

1

Sie setzen den Zähler nicht zurück. Siehe this fiddle

$(document).ready(function(){ 
    console.log("Here"); 


$(document).click(function(e) { 
    $('#location').append("("+e.clientX+", "+e.clientY+")<br>"); 
}); 

var counter = 0; 
$(document).click(function(e) { 
    counter++; 
    $("#mouseclick").text("Total mouse clicks: " + counter); 
}); 

$('button').click(function(e) { 
    e.stopPropagation(); // stop the event from propagating up the visual tree 
    $('#location').text(""); 
    counter = 0; 
    $("#mouseclick").text("Total mouse clicks: 0"); 
}); 
+0

Danke! Ich dachte, ich hätte das letzte Nacht gemacht, aber im Nachhinein hatte ich var counter = 0; anstatt nur Zähler = 0 ;. Vielen Dank! –

+0

Eigentlich, wenn ich fragen kann - warum würde var counter = 0; funktioniert nicht, im Gegensatz zu Zähler = 0;? Liegt es daran, dass die Variable bereits definiert ist und somit überflüssig wird? –

+0

Wenn Sie eine Variable mit dem Schlüsselwort 'var' neu definieren, wird normalerweise ein Fehler ausgegeben. – TricksfortheWeb

0

Fügen Sie einfach counter = 0 in $ ('Button').() Klicken Ereignis.

$('button').click(function(e) { 
    counter=0; 
    e.stopPropagation(); // stop the event from propagating up the visual tree 
    $('#location').text(""); 
    $("#mouseclick").text("Total mouse clicks: 0"); 
}); 
+0

Oh mein Gott .... Das war so einfach. Ich dachte ernsthaft, ich hätte alles versucht. Das völlig zu überdenken, haha. Vielen Dank!! –

Verwandte Themen