2013-10-03 3 views
0

Код, приведенный ниже, продолжает извергать эту ошибку. Я не могу понять, почему.Javascript - ошибка в обработчике событий

Ошибка в обработчике события: Ошибка типа: Не удается прочитать свойство «состояние» нуль

// Generated by CoffeeScript 1.6.3 
(function() { 
jQuery(function($) { 
var eventMethod, eventer, frame, messageEvent; 
frame = $("#cf-iframe"); 
alert(frame.length); 
if (frame.length > 0) { 
    console.log("somehow"); 
    eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; 
    eventer = window[eventMethod]; 
    messageEvent = eventMethod === "attachEvent" ? "onmessage" : "message"; 
    return eventer(messageEvent, function(e) { 
    var newHeight; 
    newHeight = e.data; 
    if (!isNaN(newHeight && frame === true)) { 
     return frame.css("height", newHeight + "px"); 
    } 
    }, false); 
} 
}); 

}).call(this); 
+2

не могу видеть «состояние» в коде, я думаю, его половина кода! – Neel

+0

Я думаю, что он исходит из других мест. Это имело бы смысл. Этот код выглядит хорошо для меня. – David

+0

@NeelBhatt Я согласен с вами, нет ссылки на состояние var в приложенном здесь коде – nax83

ответ

1

Ваш код в порядке, но, кажется, в том, что ошибка из otside ...

Проверьте сценарий

0

Похоже, что в вашем коде пропускаются «onmessage» и «message». Я попробовал это на хроме. и это не ошибка. Вам также не нужно «$» в jQuery(function($)).

(function() { 
    jQuery(function() { 
    var eventMethod, eventer, frame, messageEvent; 
    frame = $("#cf-iframe"); 

    if (frame.length > 0) { 

     eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; 

     eventer = window[eventMethod]; 

     messageEvent = eventMethod === "attachEvent" ? "message" : "onmessage"; 

     return eventer(messageEvent, function(e) { 
     var newHeight; 
     newHeight = e.data; 
     if (!isNaN(newHeight && frame === true)) { 
      return frame.css("height", newHeight + "px"); 
     } 
     }, false); 
    } 
    }); 

}).call(this); 
Смежные вопросы