在 JavaScript 1.5 中對 Object 新增了一個 watch() 的函式,可用來監視本身屬性的異動。不過並不是所有的瀏覽器的支援的,因此 jQuery Watch 套件的作者就透過 setTimeout() 的方式來做監視,當然如果瀏覽器本身已經支援時就會直接使用內建的方法。
套件名稱:jQuery Watch
套件版本:1.0.0
作者網站:http://www.solutionstream.com/
套件網址:http://plugins.jquery.com/project/watch
發佈日期:2009-04-07
檔案大小:2.11 KB
檔案下載:jquery-watch.js
參數說明:
檢視原始碼 JavaScript
1 2 3 4 5 6 7 | propertyName(必填) 描述: 要監視的屬性 預設值: 無 callbackMethod(選填) 描述: 屬性改變時要呼叫的函式 預設值: function(prop, oldval, newval){} |
方法說明:
檢視原始碼 JavaScript
1 2 | // 監視指定元素的指定屬性 $(selector).watch(propertyName, callbackMethod); |
使用範例:
檢視原始碼 JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery-watch.js"></script> <script type="text/javascript"> $(function(){ // 監視 #txt 的 value 變化 $("#txt").watch("value", function(prop, oldval, newval){ $("#log").html("#txt 的 " + prop + " 值從 " + oldval + " 異動為 " + newval); return newval; }); }); </script> <body> <input type="text" id="txt" /> <div id="log"></div> </body> |
附註:
不過筆者測試的時候,Firefox 雖然支援 watch() 但卻不能正常的執行。實際寫一個原生的 JavaScript 來試的話,一般 HTML Element 的 watch() 竟然沒有作用,而 Object 的是能正常監視到!