原型添加/删除ID

时间:2011-06-20 16:40:50

标签: prototypejs

我试图通过id向div添加一个click事件,这样当你点击它时,它会使用effects.move移动,但是在我第一次点击它之后我想要删除id以便它不再移动了。到目前为止,我已尝试使用observe和stopObserving - 并删除相关的id,以便它不再移动。我无法弄清楚如何将click事件与observe集成,而无需将其直接添加到div。

非常感谢任何建议或相关链接!

链接到jsfiddle: http://jsfiddle.net/QN4TN/2/

1 个答案:

答案 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方法的第二个参数传递。