jQuery: Wörter in Echtzeit zählen

8

Ich verwende die folgende jQuery-Funktionalität, um Wörter in Echtzeit zu zählen:

%Vor%

Das Problem, auf das ich stoße, ist, dass wenn ich mit der Eingabe eines Eingabefelds beginne, die Anzahl sofort um zwei zunimmt, sogar bei Leerzeichen und meinem Löschschlüssel. Irgendwelche Ideen, warum das passieren würde?

Ich folgte diesem Tutorial: Ссылка

Eingabe: <input class="widest" id="page_browser_title" name="page[browser_title]" size="30" type="text" value="">

Display Eingabe: <input class="widest" disabled="disabled" id="finalcount" name="page[word_count]" size="30" type="text" value="662">

    
dennismonsewicz 14.09.2011, 19:53
quelle

2 Antworten

14

Es wird mit jedem Tastendruck erhöht, weil Sie es mit sagen:

%Vor%

Und wenn Sie ein weiteres Wort hinzufügen, werden Sie feststellen, dass es nicht um 2, sondern um 3 erhöht wird. Vermutlich haben Sie mehrere Eingaben auf der Seite, und Sie möchten mit der letzten Zählung die Anzahl der Wörter in jeder Eingabe anzeigen . Speichern Sie die Zählungen in einer Variablen und fügen Sie die Variablen zusammen, um den endgültigen Zählwert zu erhalten. Oder zähle die Wörter in jedem Eingang jedes Mal.

%Vor%

Arbeitsdemo: Ссылка

Bearbeiten: Übrigens, Sie haben einige Möglichkeiten, Ihren Code ein wenig zu vereinfachen, indem Sie Redundanz beseitigen. Sie können das gesamte von Ihnen gepostete JavaScript durch Folgendes ersetzen:

%Vor%

Ссылка

    
gilly3 14.09.2011, 20:18
quelle
4

Bearbeiten

Überprüfen Sie dieses Beispiel .

Warum verwenden Sie split(" ") nicht, um das Ergebnis zu vergleichen und zu teilen? Sie haben ein Array mit allen Wörtern, die Länge des Arrays ist die Anzahl der Wörter.

%Vor%

Auch warum fügen Sie jedes Mal die Übereinstimmungen zu dem alten Ergebnis hinzu?

%Vor%

Summiert das nicht jedes Mal alle Wörter zweimal?

    
Jose Faeti 14.09.2011 20:08
quelle

Tags und Links