2

我对 chrome 和 tinymce 有疑问。要将焦点设置到编辑器中,我会:

tinyMCE.getInstanceById('my_editor_id').focus();

它在 FF 和 IE 中运行良好。为什么不用镀铬?

这根本不起作用:

tinymce.execCommand('mceFocus', false, 'my_editor_id');

还有其他建议吗?

4

2 回答 2

0

尝试类似:

setup: function(ed){
   ed.onInit.add(function(ed){
      $(ed.getDoc()).contents().find('body').focus(function(){tinymce_focus();});
   });
}
于 2013-05-27T10:13:19.023 回答
0

以下解决方案对我有用。我创建了一个引起焦点的焦点事件侦听器。我不确定这是否会创建一个无限循环,但它可以正常工作。

// Chrome Hack
var addEvent = function(node,eventName,func){

      if ("undefined" == typeof node || null == node) {              
      } else {
          if (!node.ownerDocument.addEventListener && node.ownerDocument.attachEvent) {
              node.attachEvent('on' + eventName, func);
          } else node.addEventListener(eventName,func,false);
      }
}; 

var cur = ed.dom.select('textarea'); // select all tinymce textareas
for(var idx=0;idx<cur.length;idx++) {           
    addEvent(cur[idx],'focus',function(evt) {
            evt = evt ? evt : window.event;                             
            evt.target.focus();
            return true;                                
        });
}
于 2013-08-03T11:58:20.713 回答