我正在使用的小部件會修改HTML textarea元素。我需要知道該元素何時被修改,並且最好還是想隱藏該元素。我使用jQuery,所以我自然嘗試了$('#textarea_id')。change()事件。但它從來沒有觸發,因爲我猜textarea從不失去焦點。如何判斷HTML文本區域何時被Javascript更改
什麼是監控textarea的,最好是隱藏的最好辦法(CSS有顯示:無)?請不要告訴我setInterval ...
我正在使用的小部件會修改HTML textarea元素。我需要知道該元素何時被修改,並且最好還是想隱藏該元素。我使用jQuery,所以我自然嘗試了$('#textarea_id')。change()事件。但它從來沒有觸發,因爲我猜textarea從不失去焦點。如何判斷HTML文本區域何時被Javascript更改
什麼是監控textarea的,最好是隱藏的最好辦法(CSS有顯示:無)?請不要告訴我setInterval ...
你可以用一個全局變量來管理它。
var text = "";
$('#textarea_id').bind("keyup paste", function(e){
if ($(this).val() != text)
{
// text changed
text = $(this).val();
}
});
我會用.keyup()
。如果您不希望事件觸發每次按鍵,請讓每次按鍵重新啓動半秒計時器,並讓計時器觸發用戶停止鍵入時要發生的事情。你可以隨時玩弄自己的喜好。
可能有一些非跨瀏覽器的解決方案 – goat 2011-01-12 20:54:32
不是一個真正的答案,但我會建議看,如果小部件都有自己的'change`事件。 – 2011-01-12 20:54:34
`setInterval`有什麼問題?這是顯而易見的解決方案。 – lonesomeday 2011-01-12 20:58:02