我在我们的一个页面添加了一个TinyMCE编辑器。由于我的工资等级以上的原因,我们使用的是TinyMCE 3.5.4.1。
它很顺利,除非我尝试连接onFocus事件处理程序。如果我不尝试使用处理程序,编辑器会显示并正常工作,但在我定义处理程序的页面上,TinyMCE内部存在大量异常,用于我尝试过的浏览器类型(IE8,9,10和Chrome) )。
我一直在使用我在这里看过的其他帖子的模板,但我还没有看到所有这些TinyMCE异常的提及。当然,试图解开缩小的剧本是一种真正的痛苦。
我在这里找到的第一个例子在TinyMCE配置中有一个设置功能,如下所示:
, setup: function (ed) {
ed.onInit.add(function (ed, evt) {
if (!myFocus) return; // global for the handler to use
var dom = ed.dom;
var doc = ed.getDoc();
tinymce.dom.Event.add(doc, 'focus', myFocus);
});
}
当定义myFocus时,TinyMCE会引发许多例外情况 if(j.isIE){l.attachEvent(...)}抱怨l.attachEvent不存在。然后它继续进行各种变量类型的不匹配。
Chrome开发人员工具使用缩小代码更加尴尬,所以我不确定它不喜欢什么。
我在这里发现的另一篇文章建议做一些最小的浏览器检测,但这对IE和Chrome都没有帮助。
var doc = s.content_editable ? ed.getBody() : (tinymce.isGecko ? ed.getDoc() : ed.getWin())
另一篇文章提出了一种不同的方法,但我在两种浏览器中仍然存在相同的错误。
, setup: function (ed) {
ed.onInit.add(function (ed, evt) {
if (!myFocus) return;
ed.onFocus.add(myFocus);
});
}
我也曾尝试过(徒劳)
, setup: function (ed) {
if (!myFocus) return;
ed.onFocus.add(myFocus);
}
TinyMCE中的事件处理是否非常脆弱?浏览器不支持?我应该避开它并尝试使用jQuery或其他东西吗?
由于 标记
答案 0 :(得分:0)
原则上是一个导致错误的错误,直到扩展调用创建了编辑器。