Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery将事件绑定到新创建的SVG元素?_Javascript_Jquery_Html_Svg - Fatal编程技术网

Javascript 如何使用jQuery将事件绑定到新创建的SVG元素?

Javascript 如何使用jQuery将事件绑定到新创建的SVG元素?,javascript,jquery,html,svg,Javascript,Jquery,Html,Svg,我正在使用jQuery创建一个,并将其附加到中 我可以在append()之后使用each()访问,但处理程序不工作。如果我事先创建了它,它就会这样做 $(文档).ready(函数(){ $('#testbtm')。单击(函数(){ var svgElement=$('\ 1\ '); svgElement.儿童(“文本”).文本(1); 属性(“类”,“六边形ui小部件内容”); $(“#显示”).append(svgElement); });//结束单击 $('#testbtm2')。单击(

我正在使用jQuery创建一个
,并将其附加到

我可以在
append()
之后使用
each()
访问
,但处理程序不工作。如果我事先创建了它,它就会这样做

$(文档).ready(函数(){
$('#testbtm')。单击(函数(){
var svgElement=$('\
1\
');
svgElement.儿童(“文本”).文本(1);
属性(“类”,“六边形ui小部件内容”);
$(“#显示”).append(svgElement);
});//结束单击
$('#testbtm2')。单击(函数(){
$('.hexagon')。每个(函数(){
$(this).children('text').text('hi');
});
});//结束单击
$('.hexagon')。单击(函数(){
$(this).children('path').css('fill','blue');
});//结束单击
}); // 结束就绪

1.
测试
test2(选择器)。单击(f)为DOM中当前的所有元素添加单击处理程序

因为在调用jquery的
click
函数时,通过单击按钮创建的新六边形不在这里,所以它不会得到
click
处理程序。对于创建的每个新元素(无论是否为SVG),都需要再次执行此操作

$(文档).ready(函数(){
函数hexagonClick(){
$(this).children('path').css('fill','blue');
};
$('#testbtm')。单击(函数(){
var svgElement=$('\
1\
');
svgElement.儿童(“文本”).文本(1);
属性(“类”,“六边形ui小部件内容”);
$(“#显示”).append(svgElement);
//将onclick处理程序添加到新元素中。
svgElement.单击(六边形单击);
});//结束单击
$('#testbtm2')。单击(函数(){
$('.hexagon')。每个(函数(){
$(this).children('text').text('hi');
});
});//结束单击
$('.hexagon')。单击(六边形单击);//结束单击
}); // 结束就绪

1.
测试
test2(选择器)。单击(f)为DOM中当前的所有元素添加单击处理程序

因为在调用jquery的
click
函数时,通过单击按钮创建的新六边形不在这里,所以它不会得到
click
处理程序。对于创建的每个新元素(无论是否为SVG),都需要再次执行此操作

$(文档).ready(函数(){
函数hexagonClick(){
$(this).children('path').css('fill','blue');
};
$('#testbtm')。单击(函数(){
var svgElement=$('\
1\
');
svgElement.儿童(“文本”).文本(1);
属性(“类”,“六边形ui小部件内容”);
$(“#显示”).append(svgElement);
//将onclick处理程序添加到新元素中。
svgElement.单击(六边形单击);
});//结束单击
$('#testbtm2')。单击(函数(){
$('.hexagon')。每个(函数(){
$(this).children('text').text('hi');
});
});//结束单击
$('.hexagon')。单击(六边形单击);//结束单击
}); // 结束就绪

1.
测试

test2
我很确定它是正确的,因为您应该使用.on将您的单击处理程序绑定到尚未创建的内容。是的。试试这个答案>>我很确定这是因为您应该使用.on将您的单击处理程序绑定到尚未创建的内容。是的。试试这个答案>>