2015-05-26 32 views
1

我會在嘗試提交表單之前檢查用戶輸入的長度以提供反饋。這裏是我的代碼:右鍵單擊剪切/粘貼更新表單驗證

var $foo = $("#foo"), $span = $("span") 
 
$foo.on('keydown keyup change', function(){ 
 
    $span.text($foo.val().length); 
 
}).trigger('change');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea id="foo">Ipsum</textarea> 
 
<small><span></span> characters.</small>

這工作正常進行打字輸入。但是,如果用戶通過上下文菜單剪切或粘貼,計數不會更新。我如何確保計數始終更新?

+0

您可以使用'輸入propertychange'事件 –

+0

@AshishBhagat請參閱[本答案](http://stackoverflow.com/a/2988757/1234256)。 – Mooseman

+0

看看這個答案來捕獲粘貼的數據http://stackoverflow.com/a/688682/1659904 –

回答

2

您需要添加input爲您處理事件的列表:

$foo.on('keydown keyup change input', function() { ... 

當用戶(例如)右鍵單擊/剪切或右鍵單擊/粘貼,其input事件被解僱。