2017-03-07 46 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 ...是的工作...愚蠢的错误...非常感谢 –