2016-04-19 9 views
3

ユーザーのクリックでイベントをトリガーしようとしましたが、JQueryのon clickメソッドを使用しました。問題は、私のonclick関数の後に私の要素を作成することです。私たちがクリックして機能が、私のコードのリターンの間地上子名を追加することができます 私が読んだhereまたはheren.apply is not a functionここ要素を作成する前に "on click"を使用する方法

私のjQueryのメソッドさ:

d3.selectAll("body") 
    .on('click', '.child', function(){ 
       console.log("here");} 

と後で、このコードが返さ良い要素:

console.log(d3.selectAll("body .child")); 
+0

ブラウザにコンソールエラーがありますか?あなたのコードを '$(document).ready ...'の中に入れておきますか? –

+0

何もしない:n.applyは関数ではない –

+1

'$(document).on( 'クリック'、 '.child'、function(){しようとするが、これは適切な解ではない –

答えて

1

にイベントを登録するには、no要素を返さない:イベントをクリックし委任する親要素として$(document)を使用しますが、要素の作成中に

$(document).on('click', '.child', function(){ 
    console.log("here"); 
}); 
0

は、それはそう - 限り構文はOKではないとして - d3.selectAllは何をしているので、ハンドラが登録されていないことtはこれを試してみてください

1

あなたはハンドラを追加することができます呼び出します。 jQueryオブジェクトを作成し、必要なものに追加してください。注:クリック機能はインラインでも可能です。

Example: https://jsfiddle.net/rfccvgLm/ 
関連する問題