2013-03-20 97 views
-1

我需要添加一個新的事件偵聽器到一個動態創建的元素,我不能讓偵聽器附加。添加事件偵聽器到動態創建元素

我試過這種方法沒有成功。 add event listener on elements created dynamically

b[0] = document.createElement("INPUT"); 
b[0].name = "dt"; 
b[0].type = "text"; 
b[0].value = "YYYY-MM-DD HH:MM:SS"; 
b[0].addEventListener('focus', removeVal); 
b[0].addEventListener('blur', addDTFormat); 
b[0].className = "fields"; 

下面是chrome開發工具的截圖。我使用正確的參數添加偵聽器方法。但在屬性窗格中,此元素的onfocus事件爲null。

enter image description here

+0

當dfsq回答時,它是addEventListener的'focus' /'blur','onevent'的命名是IE的'attachEvent'。 – 2013-03-20 15:09:19

回答

2

應該focusblur

b[0].addEventListener('focus', removeVal); 
b[0].addEventListener('blur', addDTFormat); 

然而IE的attachEvent需要on前綴。

+0

這不是問題。我改變了事件類型。監聽器不會附加到元素。 – ExceptionLimeCat 2013-03-20 20:35:11

+0

你說什麼依賴說事件監聽器沒有附加到元素?不必信任你在調試器中看到的東西。您應該嘗試將元素添加到DOM,並查看在與輸入交互時是否調用了函數。 – plalx 2013-03-30 04:09:51