[英]On input while maxlength is active trigger even if maxlength is reached
“即使達到最大長度,在激活最大長度時也會觸發輸入”,這是on輸入事件的經典用法。 當達到maxlength時,我可以將事件設置為false,但是我發現這不是很干凈。
還有其他方法可以在達到maxlength時不觸發onInput嗎? 也許是另一個事件,onChange顯然不起作用,因為它需要失去輸入焦點。
一個簡單的jsfiddle來顯示我的“問題”: fiddle
http://jsfiddle.net/ysC7L/195/在第三個文本框中,我希望我的onInput(或其他東西)不觸發。
似乎您可能需要存儲對輸入的先前值的引用。 如果要在較大函數范圍內的輸入上設置事件處理程序,則可以將輸入的先前值存儲在變量中,然后將其與當前值進行比較。
如果要在全局上下文中設置這些事件處理程序,則可能要避免將先前的值存儲為全局變量。 相反,您可以在HTML輸入元素本身上設置一個屬性以跟蹤先前的值。 這是一個例子:
$('#input-5').on('input', function() {
var self = $(this),
prevValue = self.attr('data-prev-value') || '',
currentValue = self.val(),
maxLength = self.attr('maxlength');
if (prevValue.length !== currentValue.length || prevValue.length !== maxLength) {
// do processing
}
self.attr('data-prev-value', currentValue);
});
參見以下jsfiddle: http : //jsfiddle.net/ysC7L/203/ 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.