2011-03-07 161 views
0

我遇到了以下問題。能否請你幫忙。謝謝!javascript事件處理時間

親切的問候, 冉

  1. 對身體的onload事件的事件處理程序EH1。
  2. 此事件處理程序EH1通過調用輔助函數HF1添加一個新的DOM元素。
  3. 然後事件處理程序EH1更改新元素的值。
  4. 事件處理程序EH1然後調用另一個輔助函數HF2來計算基於新元素的輸出。

在IE和Firefox中,如果在步驟2和步驟3之間插入警報,輸出將是正確的。如果未插入警報,則輸出將不正確,就好像步驟4中的助手功能HF2看不到新元素的值。

在Chrome或Opera中,警報不起作用。

+0

請問您可以顯示此代碼嗎? – 2011-03-07 19:26:33

+0

我不知道我是否可以顯示代碼:(我想這是因爲HF1使用ajax異步調用,在調用返回之前,步驟3沒有任何作用,我想在IE/FF中,警報允許HF1 ajax異步調用返回並更新DOM,而在Chrome/Opera中,該警報阻止了所有的事情,我在HF1中刪除了ajax異步調用,代碼似乎正常工作 – 2011-03-07 23:10:07

回答

1

在DOMReady上執行操作,而不是在主體上執行onload。

+0

我無法決定偵聽哪個事件,只能修改事件處理程序。我不明白爲什麼DOMReady會有所作爲。IMO,'Onload'加載imiges和DOMReady不會。 – 2011-03-07 23:22:16

+0

我們能否真正看到助手函數和事件處理程序? – Peeter 2011-03-08 08:06:02