2013-08-18 82 views
1

所以,我試圖找到某個元素正在更改的JS部分。我環顧四周,找不到處理這些事件的方法。查找更改DOM元素的JavaScript

該場景是:有一個具有一定值的隱藏字段。我提交表格時,價值在提交之前就發生了變化。

我在找的是改變這個值的方法。

任何有關如何解決這個問題的建議都會非常有幫助,因爲我對JS並不擅長。哦,它看起來像代碼混淆,所以大部分函數名稱是一個字母。

+0

使用調試器。 Chrome和Firefox都有一個。 –

回答

0

我在這些情況下使用的方法是檢查正在修改的區域周圍的HTML,請注意代碼可以找到合適的DOM元素(表單名稱,ID值,類名稱等等)的所有可能方式...... ),然後查看代碼以查找可能在查詢DOM的位置,以使用其中一個標識符查找正在更改的DOM元素。由於標識符不能被遮蔽,因此它們應該以普通英語的代碼與HTML中出現的相同。另外,您可以製作代碼中設置的所有事件偵聽器的列表,並特別關注正在更改的對象附近的事件偵聽器。由於它是表單提交,因此您可以在表單提交按鈕上查找提交事件或單擊事件。

當您看到事件處理程序不確定它們是否涉及時,可以簡單地在其中設置斷點,並查看它們的代碼是否在正在調查的操作期間被命中。我經常發現在我自己的編輯器中創建自己的代碼副本並開始向代碼添加代碼註釋是有幫助的,因爲我發現某些功能或工作原理。這給了我更多的運行知識庫,而不必記住一切。當變量名全部被遮蔽時,這更加有用。

+0

我可以從調試器中看到DOMSubtreeModified和DOMAttrModified被調用的位置,但我找不到哪些函數在JS中調用它們 – Darko