2011-06-03 58 views
2

我有幾個領域在現場更改的數據組事件通過jQuery

$( 「#A1」)改變(函數(){ 的console.log( '火');})。 ;

但是當值變化不用戶事件不起作用

形式[0] .VAL = 100;

事件不起作用

我怎麼能抓住這個變化的數據? 從不同的地方ps數據更改不是我的代碼建議像觸發('更改')不好主意

回答

0

我不認爲事件會觸發,當你設置該值的方式。

當您在瀏覽器中設置元素的值時它工作嗎?

你可以做的是調用窗體[0] .change(),它應該工作。

+0

代碼設置所有值不是我的maby有另一種方式導致這種變化? – Alexandr 2011-06-04 00:02:41

+0

我認爲,如果您無法控制誰在更改DOM元素的值,那麼您可能會處於虧損狀態。就像jereme所說的那樣,通過創建用戶必須使用的抽象(僅限於慣例),您可以獲得很好的服務,但即使如此,DOM也適用於所有人。你也許可以使用一個使用觀察模式的庫來監視你,這樣你就不必自己進行輪詢。我認爲Knockout.js具有其中一些功能。 – hivie7510 2011-06-04 23:15:49

0

更改value屬性不會觸發change事件。

事實上,你的代碼應該改變value而不是val

更新後可以明確調用它。

form[0].value = 100; 
form.change(); 

但是你提到這不是一個選項。

唯一的另一種方法是輪詢更改。

0

您可以定義一種使用窗體內控件的方式。創建一個JavaScript函數,外部開發人員可以調用該函數來設置給定字段的值並使其使用該方法。然後,你可以改變或做任何你想要的內容。