2017-03-07 42 views
0

我正在閱讀一些代碼,並試圖在我的結尾一步一步地複製相同的代碼。Javascript onclick事件不能與變量引用

我附加一個事件到一個特定的按鈕,並點擊它應該記錄一個聲明。

下面是不起作用的代碼: -

(function(){ 

var el = function(element){ 
    if(element.charAt['0'] === '#'){ 
     return document.querySelector(element); 
    } 
    return document.querySelectorAll(element); 
} 

var viewer = el('#viewer'); 
var clear = el('#clear'); 

console.log(clear); 

var clearAll = function(){ 
    console.log('Clearing'); 
}; 

//click event 
clear.onclick = clearAll; 

})(); 

以上的功能是用來獲取元素。

下面的代碼工作

document.getElementById('clear').onclick = clearAll; 

document.querySelector('#clear').onclick = clearAll; 

我不明白,爲什麼上面的代碼不起作用。請幫忙。

+1

有時返回元素,有時返回一個節點列表很可能是令人困惑的函數。我不建議這樣做。 – Quentin

回答

1

"foo".charAt['0']undefined因爲charAt功能並沒有0財產。

您需要()(調用該函數),而不是[](以訪問該對象的屬性)。

+0

Ohhhhh ...是的工作...愚蠢的錯誤...非常感謝 –