如何在创建我的元素之前使用 "on click"

How to use "on click" before the creation of my element

我尝试在用户点击时触发事件,然后我使用了JQuery的点击方法。问题是我在 onclick 函数之后创建了我的元素。 我读过 here or here 我们可以在 click 和函数之间添加一个应答器名称,但我的代码 return n.apply is not a function

这是我的 JQuery 方法:

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

以后,这段代码 return 好的元素 :

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

就语法而言,似乎没有注册处理程序,因为 d3.selectAll 没有 return 没有要注册的元素活动于

试试这个:使用 $(document) 作为父元素来委托点击事件调用

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

您可以在创建元素时添加处理程序。只需创建一个 jQuery 对象并将其附加到您需要的任何内容。注意:Click函数也可以内联

Example: https://jsfiddle.net/rfccvgLm/