javascript - builds - ¿Cómo establecer el foco en el editor ace?
ace editor react (5)
Aquí hay un extracto de mi código que establece el foco en una sesión de edición de Ace en una pestaña jQuery UI:
$(''#tabs_div'').tabs(
{
select : function(event, ui) {
var tabName = ui.panel.id;
var doc = docs.get(tabName); // look up the EditSession
var session = env.split.setSession(doc);
session.name = tabName;
env.editor.focus();
}
Estoy usando el componente de editor ace de ajax.org dentro de una interfaz de pestaña jquery. Cada pestaña contendrá un editor ace por separado. Cada vez que cambio a una nueva pestaña, el editor no se enfocará.
Puedo detectar cuándo se selecciona una pestaña vinculando al evento "tabsshow" de jquery UI. ¿Alguien sabe cómo establecer el foco en el editor si dice que el ID de mi editor div es editor-pestaña-0 para la primera pestaña, y así sucesivamente ...?
Por favor, ¿alguien puede ayudar?
Buena solución, pero quería ir al final de la última línea, no al comienzo de la última línea.
//To focus the ace editor
editor.focus();
session = editor.getSession();
//Get the number of lines
count = session.getLength();
//Go to end of the last line
editor.gotoLine(count, session.getLine(count-1).length);
Para enfocarse al final:
editor.focus();
editor.navigateFileEnd();
Gracias a @ a-usuario
Utilizo JQuery con el Ace Editor, y encontré el siguiente código funcionó muy bien para mí. PD: La ventana de mi editor de código está en un marco flotante:
$(''#modelFrame'').mouseover(function() {
try {
$(this).get(0).contentWindow.editor.focus();
} catch (doNothing) {
;;
}
});
editor.focus(); //To focus the ace editor
var n = editor.getSession().getValue().split("/n").length; // To count total no. of lines
editor.gotoLine(n); //Go to end of document