Ответ 1
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
Я использую компонент редактора ace от ajax.org внутри интерфейса вкладки jquery. Каждая вкладка будет содержать отдельный редактор туза. Всякий раз, когда я переключаюсь на новую вкладку, редактор в ней не будет получать фокус.
Я могу определить, когда табуляция выбрана путем привязки к событию "tabsshow" jQuery UI. Кто-нибудь знает, как настроить фокус на редактор в нем, если сказать, что id моего редактора div является редактором-вкладкой-0 для первой вкладки и т.д....?
Пожалуйста, помогите кому-нибудь помочь?
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
Хорошее решение, но я хотел перейти в конец последней строки, а не в начало последней строки.
//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);
Здесь выдержка из моего кода, которая фокусирует внимание на сеансе редактирования Ace на вкладке пользовательского интерфейса jQuery:
$('#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();
}
Фокус до конца:
editor.focus();
editor.navigateFileEnd();
Благодаря @a-user
Я использую JQuery с редактором Ace, и я нашел, что следующий код работал очень хорошо для меня. PS: Окно редактора моих кодов находится в iframe:
$('#modelFrame').mouseover(function() {
try {
$(this).get(0).contentWindow.editor.focus();
} catch (doNothing) {
;;
}
});