Search code examples
javascriptgoogle-mapsprototypejs

"undefined handler" from prototype.js line 3877


A very niche problem:

I sometimes (30% of the time) get an 'undefined handler' javascript error on line 3877 of the prototype.js library (version 1.6.0.2 from google: http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js).

Now on this page I have a Google Map and I use the Prototype Window library.

The problem occurs in IE7 and FF3.

This is the info FireBug gives:

handler is undefined
? in prototype.js@3871()prototype.js (line 3877)
handler.call(element, event);

I switched to a local version of prototypejs and added some debugging in the offending method (createWraper) but the debugging never appears before the error...

I googled around and found 1 other mention of the error on the same line, but no answer so I'm posting it here where maybe, some day someone will have an answer :).


Solution

  • I just found out this error also occurs if you accidentally leave on the parenthesis on your observer call:

    Event.observe(document, 'myapp:application_ready', myapp.MyClass.initApp());
    

    instead of

    Event.observe(document, 'myapp:application_ready', myapp.MyClass.initApp);