Как мне преобразовать этот фрагмент в Mootools - PullRequest
0 голосов
/ 03 марта 2010

У меня есть фрагмент прототипа, который я действительно хочу преобразовать в Mootools.

document.observe('click', function(e, el) {
    if ( ! e.target.descendantOf('calendar')) {
        Effect.toggle('calendar', 'appear', {duration: 0.4});
    }
});

Фрагмент ловит щелчки, и если он выходит за пределы контейнера, $ ('calendar') должен переключаться.

1 Ответ

1 голос
/ 04 марта 2010

Вы пытаетесь поймать клики в любом месте документа? Может быть, вы могли бы попробовать ...

var calendar = $('calendar');
$$('body')[0].addEvent('click', function(e) {
  if (!$(e.target).getParent('#calendar')) {
    var myFx = new Fx.Tween(calendar, {duration: 400});
    myFx.set('display', 'block');
  }
}

Я не уверен, как вы переключаете видимость, но работа Fx.Tween.set позволяет вам изменять любое свойство CSS. Вы можете посмотреть на http://mootools.net/docs/core/Fx/Fx.Tween для других возможностей.

Также обратите внимание, что я обернул e.target, используя $. Это специально для IE. Я написал пост об этом здесь под подзаголовком "Mootools Events Targets".

Наконец, я вычеркнул $ ('calendar'), чтобы вы не искали DOM каждый раз.

...