2017-03-07 13 views
0

私はいくつかのコードを読んでいて、私の最後にステップごとに同じものを複製しようとしています。Javascriptのonclickイベントが変数参照で動作しない

私は特定のボタンにイベントを添付しており、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; 

に動作します。助けてください。 charAt機能あると0性質を持っていないため

+1

時々要素を返し、時にはノードリストが混乱する可能性がある返す関数作業参照。私はそれをすることをお勧めしません。 – Quentin

答えて

1

"foo".charAt['0']undefinedです。

[](オブジェクトのプロパティにアクセスする)ではなく、()(関数を呼び出す)が必要です。

+0

Ohhhhh ...はい、それはうまくやった...愚かな間違い...ありがとう –

関連する問題