我尝试在用户点击时触发事件,然后我使用了JQuery的on click方法。问题是我在onclick函数后创建了我的元素。
我已阅读here或here我们可以在点击和功能之间添加应答器名称,但我的代码返回n.apply is not a function
这是我的JQuery方法:
d3.selectAll("body")
.on('click', '.child', function(){
console.log("here");}
以后,这段代码返回了好的元素:
console.log(d3.selectAll("body .child"));
答案 0 :(得分:1)
尝试此操作:使用$(document)
作为父元素来委派点击事件调用
$(document).on('click', '.child', function(){
console.log("here");
});
答案 1 :(得分:1)
您可以在创建元素时添加处理程序。只需创建一个jQuery对象并将其附加到您需要的任何内容。注意:Click函数也可以是内联的。
Example: https://jsfiddle.net/rfccvgLm/
答案 2 :(得分:0)
似乎 - 就语法还可以 - 处理程序没有注册,因为 d3.selectAll 没有返回任何元素来注册事件