3
我試圖讓一個事件觸發每當一個contenteditable div使用鍵控更改。不幸的是,它也能捕獲諸如用箭頭鍵移動插入符的東西。我只希望它能夠發現實際的變化。jquery keyup忽略不變字符
我看過this這個問題看起來很相似,但是那裏的解決方案並不適用於linebreaks這樣的東西。想法?
我試圖讓一個事件觸發每當一個contenteditable div使用鍵控更改。不幸的是,它也能捕獲諸如用箭頭鍵移動插入符的東西。我只希望它能夠發現實際的變化。jquery keyup忽略不變字符
我看過this這個問題看起來很相似,但是那裏的解決方案並不適用於linebreaks這樣的東西。想法?
一種方法是緩存處理程序外的長度,然後將textarea的當前長度與緩存的長度進行比較。如果他們不同,那麼你可以假設被按下的鍵被添加到textarea的內容。希望這可以幫助。
var textarea = $('textarea').get(0),
length = $(textarea).val().length;
$(textarea).keyup(function() {
if($(this).val().length != length) {
//do something
//cache new length
length = $(this).val().length();
}
});
$(本)。長度總是等於1應該是$(本)的.text()長度 – 2011-05-26 18:01:13
我完全搞砸,多達 - 我忘了補充.VAL()我要去坐那個咖啡休息時間。 – 2011-05-26 18:02:06
或val(),也可以。別擔心,我有很多這些時刻。 :O – 2011-05-26 18:03:24