Javascript 箭头键和删除键在Ace编辑器中工作,但键入文本无效

Javascript 箭头键和删除键在Ace编辑器中工作,但键入文本无效,javascript,ace-editor,Javascript,Ace Editor,刚开始使用Ace编辑器http://ace.ajax.org 尽管它在常规编辑器上运行良好,但只要我将其放入具有“modal:true”选项的jQueryUI对话框中,我就可以完成除输入文本之外的所有操作。也就是说,我可以选择,使用ctrl组合,甚至删除文本,但我不能插入字母 知道“modal:true”选项如何干扰常规字符插入吗?是否有一个“stopPropagation”函数可以阻止按键笔划进入编辑器?问题是jquery对话框在允许事件继续之前在目标元素(在本例中为Ace编辑器的文本区域)上

刚开始使用Ace编辑器http://ace.ajax.org 尽管它在常规编辑器上运行良好,但只要我将其放入具有“modal:true”选项的jQueryUI对话框中,我就可以完成除输入文本之外的所有操作。也就是说,我可以选择,使用ctrl组合,甚至删除文本,但我不能插入字母


知道“modal:true”选项如何干扰常规字符插入吗?是否有一个“stopPropagation”函数可以阻止按键笔划进入编辑器?

问题是jquery对话框在允许事件继续之前在目标元素(在本例中为Ace编辑器的文本区域)上查找z索引。在撰写本文时,这是他们进行检查的地方:

jquery.ui.dialog.js从第685行开始

create: function( dialog ) {
  if ( this.instances.length === 0 ) {
    ...
    setTimeout(function() {
      // handle $(el).dialog().dialog('close') (see #4065)
      if ( $.ui.dialog.overlay.instances.length ) {
        $( document ).bind( $.ui.dialog.overlay.events, function( event ) {
          // stop events if the z-index of the target is < the z-index of the overlay
          // we cannot return true when we don't want to cancel the event (#3523)


          // HERE's THE CHECK
          if ( $( event.target ).zIndex() < $.ui.dialog.overlay.maxZ ) {
            return false;
          }
        });
      }
    }, 1 );

我通过使用jQuery调整CSS而不是编辑Ace源代码来实现这一点

$('.ace_editor textarea').css('z-index','2000');

您使用的是什么类型的对话框?
$('.ace_editor textarea').css('z-index','2000');