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