我试图通过id向div添加一个click事件,这样当你点击它时,它会使用effects.move移动,但是在我第一次点击它之后我想要删除id以便它不再移动了。到目前为止,我已尝试使用observe和stopObserving - 并删除相关的id,以便它不再移动。我无法弄清楚如何将click事件与observe集成,而无需将其直接添加到div。
非常感谢任何建议或相关链接!
链接到jsfiddle: http://jsfiddle.net/QN4TN/2/
答案 0 :(得分:0)
一旦设置了观察者,删除ID将不会停止正在处理的事件。你应该这样做:
<div id="moveme">...</div>
<script type="text/javascript">
$('moveme').observe('click', function(ev) {
ev.stop();
ev.target.stopObserving('click');
... Call move function here ...
});
</script>
这将通过从div中删除所有点击处理程序来响应点击(然后调用您的scriptaculous代码)。如果这是一个问题,您应该存储预绑定处理程序,然后将其作为stopObserving方法的第二个参数传递。