次の 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');
});