Функция прототипа (1.6.0.3) .insert не работает в событии dom :loaded в Magento 1.4 - PullRequest
0 голосов
/ 25 сентября 2010

У меня странная проблема с функцией вставки прототипа во время события dom :loaded. Каждый раз, когда я использую [element] .insert (), выполнение сценария останавливается для события. Я использую следующий код:

document.observe("dom:loaded", function() { $$('.some-class').insert({top: new Element('div').addClassName('top')}).insert({bottom: new Element('div').addClassName('bottom')});</p> <pre><code>alert('This message never shows...');

});

Однако, если я просто заменю insert на invoke ('hide'), все будет хорошо:

document.observe("dom:loaded", function() { $$('.some-class').invoke('hide');</p> <pre><code>alert('This message shows...');

});

Кто-нибудь знает, как я могу заставить работать .insert? Я просто не могу найти способ сделать это. Возможно, это как-то связано и с Magento?

1 Ответ

0 голосов
/ 27 сентября 2010

Duh!

Это так просто, если ты знаешь, что делаешь!

Код должен быть изменен на следующее:


document.observe("dom:loaded", function() {
    $$('.some-class').each(function(e) {
        e.insert({top: new Element('div').addClassName('top')}).insert({bottom: new Element('div').addClassName('bottom')});
    });
});

Это действительно имеет смысл. Я счастлив сейчас:)

...