Javascript 如何使用jQuery将事件绑定到新创建的SVG元素?
我正在使用jQuery创建一个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')。单击(
,并将其附加到
中
我可以在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将您的单击处理程序绑定到尚未创建的内容。是的。试试这个答案>>