我們有一個文本框,用戶應該輸入一些數據。但是,該數據不得超過500個字符。爲了做到了這一點,我們已經實現呼籲KeyUp事件以下功能:以編程方式更改文本大小可防止更改事件
function keyupMaxLimit(obj, maxlen) {
if (parseInt(obj.value.length) > maxlen) {
$(obj).val($(obj).val().substr(0,maxlen));
}
}
這是工作:用戶無法進入更多的是應該。 我們還有一個與同一文本框的Change事件關聯的函數,以檢測變化並執行我們的魔術。
$(document).on("change", "#myTextBox", function() {
//magic here
});
這也是工作:當用戶改變文本功能被調用。
但是,這是我們的問題,這兩個功能不能一起工作。例如,如果用戶介紹他/她應該輸入的更多字符,第一個函數將修剪文本,但第二個函數不會被調用!
看來我們對第一個函數的文本框所做的更改是阻止/清除Change事件。它是否正確?任何解決方法?我無法在第一個函數上顯式觸發Change事件,因爲我們會創建不必要的更改。
編輯 - 你可以在這裏看到這發生:http://jsfiddle.net/jpaires/dpujx/ 打開瀏覽器的控制檯,並在文本框上寫上「12345」。該事件將被觸發(控制檯上的「a-ok」)。但是,如果您編寫「123456」,文本將被剪切並且事件將不會被觸發(控制檯上沒有「a-ok」)。由於Juhana :)
假設「魔術」只是'keyupMaxLimit(this,500);'它應該可以正常工作。沒有什麼會清除事件處理程序 – Archer
你的keyup事件可能有一些錯誤..請告訴我們代碼... too – Darshan
@Archer是的,它是。在我的textarea標籤中,我的屬性如下:onkeyup =「keyupMaxLimit(this,500); – jpaires