Raphael JS から生成されたテキストをマウスでクリックしたときにイベントをトリガーする方法を見つけようとしています。Firefox では、クリック イベントは完全に機能します。IE 7 および 8 (以前のバージョンはテストしていません) では、クリックもマウスダウンも機能しません。クリックは他の raphael オブジェクト、例えば例の四角形に対してうまく機能します。
以下のデモで指定されたテキストでイベントをトリガーするにはどうすればよいですか。
<html>
<head>
<script type="text/javascript" src="http://github.com/DmitryBaranovskiy/raphael/blob/master/raphael-min.js?raw=true"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
</head>
<body>
<div id="graph"></div>
<script language="javascript">
function setupImage() {
var canvas = Raphael(graph, 200, 200);
var alpha = canvas.text(100, 10, "Two Words");
alpha.attr("font-size", "20px");
var beta = canvas.rect(50, 50, 50, 50);
beta.attr("fill", "#3333cc");
canvas.safari();
var textClickEvent = function(event) {
alert("text clicked");
};
var boxClickEvent = function(event) {
alert("box clicked");
};
$(alpha.node).click(textClickEvent);
$(beta.node).click(boxClickEvent);
}
$(window).load(setupImage);
</script>
</body>
</html>
私の直感では、DOM を操作して、たとえば A 要素でテキストをラップし、代わりにバインドする必要があるかもしれません。それは最もクリーンな解決策とは思えないので、ここで誰かが別のアプローチを持っているかどうかを尋ねています.