2016-07-04 108 views
2

長話短說,我cowboying一些代碼在我使用的是自定義的框架允許我插入腳本操作頁面,做我想做的。jQuery的檢測程序文本變化

我想火的功能,但我想使用文本框已經從被調用WebService的填充之後。

在jquery/JavaScript是否有調用一個像jQuery的更改功能,但可以檢測到文本框已被改變的JavaScript,而不是在瀏覽器中的用戶的功能。

我目前只是有:

$("#mytexbox").on('input propertychange paste change',function() { 
    doSomething(); 
}); 

但是當鎖定代碼原有的功能設置文本框的值,這不火。

注意:我不能只重載原始函數,因爲它大部分都是由動態服務器端代碼構建的,我無法在Javascript中進行模擬。

我也想避免使用的setTimeout(),因爲這是不可靠的,而不是一個真正的很好的解決方案。

在此先感謝!

+0

我不認爲有一個可以使用除間隔計時器以外的API。 MutationObserver Api不支持值更改 – charlietfl

+0

註冊全局'$ .ajaxComplete'處理程序並檢查它的更改。 –

+0

您可以檢查keydown,keyup或keypress並查看這些事件是否在元素內容更改之前觸發。 – GGG

回答

0

也許你可以使用一個隱藏的股利或輸入和檢查這個變化,而不是在#mytextbox變化。顯然,用戶不能更改隱藏的div,但腳本可以。你有把戲嗎? ;)

+0

我不認爲你讀過這個問題。我只能訪問一個腳本文件來基本牛仔原始頁面。我可以在js中創建div,但我仍然不知道文本框何時填充,然後才能填充隱藏的div。 我無法訪問原始函數來允許它填充隱藏的div,否則我只是從那裏觸發我的函數,而不是當文本框被填充時。 – Cyassin

+1

對不起,我明白你的問題。 – ernestortiz