Показать сообщение отдельно
  #8 (permalink)  
Старый 15.07.2010, 21:45
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

как насчет такого варианта? Или объясни нормально, как эти события работают в разных браузерах
var onLoadHandler = onLoad.executeOnce();
$(iframe).ready(onLoadHandler); 
$(iframe).load(onLoadHandler);

Function.prototype.executeOnce = function(){
    var f = this;
    return function(){
        if( arguments.callee._executed )
            return;
        var r = f.apply(this, arguments);
        arguments.callee._executed = true;
        return r;
    }
};


p.s. когда ты называешь решение, без которого бывает не обойтись (насколько я знаю) говном, а сам предлагаешь хитрющий метод, который кроме всего прочего использует browser detection... ты ждешь, что его назовут как-то по-другому?

Сообщение от puchu
тратить лишнее процессорное время на такое глупо
если можно сделать нормальную надежную реализацию без этого
если можно сделать нормальную надежную реализацию, то лучше обойтись без setTimeout. Но лучше уж setTimeout, чем browser detection. И ты мерял, сколько там этого времени тратится (тем более, что это отправка формы, а не какой-нибудь ajax suggest)?
Ответить с цитированием