在下面的 JS Fiddle 中,我添加了一个 Raphael 画布。当您按住 ctrl 单击画布上的任意位置时,它会在左上角创建一个带有“c”类的圆圈。单击圆圈时,.on() 事件应该触发警报('hi')。但是, .on('click', '.c') 事件不起作用。有人可以解释为什么没有触发动态点击事件吗?
var r;
$(document).ready(function (){
r = Raphael('d1', 100, 100);
});
$(document).on('click', '#d1', function (e){
e.preventDefault();
e.stopPropagation();
if (e.ctrlKey)
{
var posX = $(this).offset().left, posY = $(this).offset().top;
var shape = r.circle(20, 20, 20, 20);
shape.node.setAttribute('class', 'c');
shape.attr({fill: '#fff', stroke: '#fff', "fill-opacity": 100, "stroke-width": 2});
}
});
$(document).on('click', '.c', function (e){
e.preventDefault();
e.stopPropagation();
alert('hi');
});