“неопределенный обработчик” от prototype.js строки 3877

Вы можете легко использовать это понимание:

a = ['hello','world','1','2']

my_dict = {item : a[index+1] for index, item in enumerate(a) if index % 2 == 0}

Это эквивалентно циклу for ниже:

my_dict = {}
for index, item in enumerate(a):
    if index % 2 == 0:
        my_dict[item] = a[index+1]
7
задан Rob W 27 December 2011 в 16:31
поделиться

2 ответа

Я просто узнал, что эта ошибка также происходит, если Вы случайно уезжаете на круглой скобке на Вашем вызове наблюдателя:

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

вместо

Event.observe(document, 'myapp:application_ready', myapp.MyClass.initApp);
5
ответ дан 6 December 2019 в 19:45
поделиться

Я переключился на локальную версию prototypejs и добавил некоторую отладку в незаконном методе (createWraper), но отладка никогда не появляется перед ошибкой...

На самом деле незаконная функция, вызванная, когда ошибка происходит, является "оберткой", которую создают внутри createWrapper (но не называют там). В основном то, что происходит, - то, что Вы присоединили функцию как обработчик событий для элемента, и функция на самом деле не существует.

При попытке вставить отладочную информацию, чтобы попытаться точно определить, какая функция "не существует", затем добавляют Ваши аварийные сообщения или консольный вывод поджигателя в функции обертки между строками 3871 и 3878.

3
ответ дан 6 December 2019 в 19:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: