删除tinyMCE Editor.onKeyPress事件 - 在Opera中断

时间:2012-03-06 09:52:50

标签: javascript tinymce opera onkeypress

我在我们的网站上使用了一个tinyMce编辑器。在第一个页面加载时,我设置了一个onkeypress事件处理程序,如下所示:

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

这在firefox和chrome中工作得很好,但是在opera中会抛出这个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 :(得分:0)

Tinymce并不完全支持Opera。这可能是您出错的原因。