2013-10-10 33 views
1

我有一個下拉菜單,它在select標籤中有一個onchange事件。該平變化應該調用一個函數,但我也測試了它只是請求警報()onchange無法正常工作,當頁面加載時,直到我刪除,然後將其添加回代碼

<select onchange="alert('test')">....... 

出於某種原因,當我加載頁面在瀏覽器中這是行不通的,但如果我從元素代碼中刪除的onchange通過瀏覽器,然後將onchange請求寫回到我刪除它的確切位置的代碼中,它可以工作。我甚至複製了onchange代碼片段並將其粘貼回來,以確保我使用的語法相同,當我將其粘貼回來時,它立即開始工作

有什麼建議嗎?

+0

當您使用指定的onchange屬性加載頁面時,控制檯中是否有任何錯誤? – Yuck

+1

在jsfiddle中工作:http://jsfiddle.net/Q4cuh/ - 你確定錯誤不是別的嗎? – puelo

+0

@Yuck在控制檯中完全沒有錯誤。 – develophper

回答

0

您可以更加確保點擊處理程序是通過使用一個事件監聽器加載後初始化,再加上你維護的行爲和表現的分離:

window.onload = function() { 
    addEvent(document.getElementById('mySelect'), 'change', myChangeFunction); 
} 

這就是說,有似乎是別的東西錯了與你的情況。

+0

有趣的是,這隻有當我通過控制檯輸入你的功能時纔有效。這使我處於與以前相同的位置,但它不是唯一的onchange – develophper

+0

好吧,有另一個事件在js文件中偵聽onchange事件,我沒有看到。非常感謝你的回覆給我發送正確的方向至少 – develophper

+0

很高興你找到了它。 – isherwood

相關問題