开发者

Prototype add/remove id

开发者 https://www.devze.com 2023-03-14 00:30 出处:网络
I´m trying to add a click event via id to a div, so that when you click on it, it moves using effects.move, but after clicking on it the first time I want the id to be removed so that it doesn´t mov

I´m trying to add a click event via id to a div, so that when you click on it, it moves using effects.move, but after clicking on it the first time I want the id to be removed so that it doesn´t move anymore. So far I´ve tried using observe and stopObserving - and also removing the associated id so that it doesn´t move any more. I can´t figure out how to integrate a click event with an observe, without adding it direct开发者_StackOverflow中文版ly to the div.

Any suggestions or relative links would be greatly appreciated!

link to jsfiddle: http://jsfiddle.net/QN4TN/2/


Once you have set the observer removing the ID will not stop the event being handled. You should do something like this:

<div id="moveme">...</div>

<script type="text/javascript">
$('moveme').observe('click', function(ev) {
  ev.stop();
  ev.target.stopObserving('click');
  ... Call move function here ...
});
</script>

This will respond to the click by removing all the click handlers from the div (And then calling your scriptaculous code). If this is a problem, you should store the pre-bound handler and then pass that as the second parameter of the stopObserving method.

0

精彩评论

暂无评论...
验证码 换一张
取 消