【问题标题】:TinyMce focus in ChromeChrome 中的 TinyMce 焦点
【发布时间】:2013-05-27 09:36:06
【问题描述】:

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

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

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

这根本不起作用:

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

还有其他建议吗?

【问题讨论】:

  • 我认为 Chrome 不正确支持 focus()。我建议使用click()
  • 当我使用 click() 时出现以下错误:Uncaught TypeError: Object [object Object] has no method 'click'

标签: php javascript jquery focus tinymce


【解决方案1】:

尝试类似:

setup: function(ed){
   ed.onInit.add(function(ed){
      $(ed.getDoc()).contents().find('body').focus(function(){tinymce_focus();});
   });
}

【讨论】:

    【解决方案2】:

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

    // 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;                                
            });
    }
    

    【讨论】:

      猜你喜欢
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多