当用户右键单击使用 Rapahel.js 创建的元素时,我需要做出响应。我读到您应该只附加一个单击事件处理程序,然后确定用户单击了哪个鼠标按钮。我不能让它工作。
<!DOCTYPE html>
<html>
<head>
<script src="http://raphaeljs.com/raphael.js"></script>
<script>
window.onload = function() {
var r = Raphael('demo', 640, 480);
r.rect(10, 10, 400, 400).attr({fill: 'red'}).click(function(){
alert('test');
});;
};
</script>
</head>
<body>
<div id="demo"></div>
</body>
</html>
只有单击鼠标左键时才会显示警告框。关于单击右键时如何显示警告框的任何建议?
我用 jQuery 看到了这个小技巧:
$(r.rect(10, 10, 400, 400).attr({fill: 'red'}).node).bind('contextmenu', function(){
alert('test');
});
但也阅读了关于它的评论:
是的,这也有效,但仅适用于 jQuery,而且最好不要使用 .node,因为 Raphael 有时会重新创建节点 - 所以你会丢失事件处理程序。