[英]jQuery - char counter doesn't work with paste event
我寫了一個jQuery字符計數器,它在我鍵入時起作用,但在粘貼文本時不起作用。 該功能在粘貼時執行,但計數不會改變。 我不確定val()
函數是否正確或是否與DOM同步。 有任何想法嗎?
counter = function () {
$j("strong#status-field-char-counter").text($j("#Panel1messagesmessage").val().length);
alert('event');
};
$j("textarea").keyup(counter);
$j("textarea").bind('paste', counter);
$j("#Panel1messagesmessage").bind('copy', counter);
$j("#Panel1messagesmessage").bind('delete', counter);
textarea內容可以通過多種方式進行更改,而不是嘗試捕獲所有內容,只需安裝一個每0.5秒檢查一次內容的例程,如
$(function() {
window.charCount = 0;
setInterval(function() {
var c = $("textarea").val().length;
if(c != window.charCount) {
window.charCount = c;
$("span").html(window.charCount);
}
}, 500);
})
我通常將keyup
與change
結合使用
當文本框失去焦點時, change
事件將觸發,但僅當該值在獲得焦點后被修改時才會觸發。
快速發揮:
$("#textarea").change(function() { $("#status-field-char-counter").text($("#textarea").val().length); }).keyup(function() { $("#status-field-char-counter").text($("#textarea").val().length); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <p id="status-field-char-counter">here</p> <input id="textarea" type="text" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.