Удаление события tinyMCE Editor.onKeyPress - разрывы в Opera - PullRequest
1 голос
/ 06 марта 2012

Я использую редактор tinyMce на нашем сайте. При первой загрузке страницы я установил обработчик события onkeypress следующим образом:

window.onload = function () {
    tinyMCE.activeEditor.onKeyPress.add(function () { startCookieInterval() });
    }

Это прекрасно работает в Firefox и Chrome, но в опере выдает эту ошибку JavaScript:

Uncaught exception: TypeError: Cannot convert 'tinyMCE.activeEditor' to object

Поэтому я изменил window.onload на document.onload на тот случай, если редактор tinyMce не был правильно инициализирован window.onload. Это работает нормально, вплоть до того момента, когда обработчик событий вызывается впервые. Здесь я удаляю обработчик событий, потому что хочу запустить его только один раз:

function startCookieInterval() {
    tinyMCE.activeEditor.onKeyPress = null;
    cookieIntervalTick();
}

После этого при каждом нажатии клавиши возникает следующая ошибка JavaScript:

[07/05/1983 08:35:36] JavaScript - http://localhost:10166/4_advice_only/editadviceitem.aspx?ADIID=13127831
Event thread: keypress
Uncaught exception: TypeError: Cannot convert 'v[x[t.fakeType || t.type]]' to object
Error thrown at line 8641, column 20 in r(t, A) in http://localhost:10166/includes/tiny_mce_3_3_8/tiny_mce.js:
    v[x[t.fakeType || t.type]].dispatch(v, t, A)
called via Function.prototype.call() from line 3686, column 16 in <anonymous function: g>(n) in http://localhost:10166/includes/tiny_mce_3_3_8/tiny_mce.js:
    return l.call(j, n)

Ничего подобного не происходит в других браузерах. Пожалуйста, поделитесь своими мыслями. Спасибо

hofnarwillie

1 Ответ

0 голосов
/ 06 марта 2012

Опера не полностью поддерживается Tinymce. Это может быть причиной вашей ошибки.

...