ASP.NET / HTML - положение курсора textarea при использовании курсоров - PullRequest
0 голосов
/ 03 ноября 2011

В «современных» веб-браузерах, когда пользователи нажимают клавиши со стрелками вверх и вниз при многострочном вводе, курсор перемещается вверх и вниз.Находясь в первой строке, нажатие стрелки вверх переводит курсор назад в начало строки.Это стандартное поведение в FF, Chrome и т. Д.

В IE7 все по-другому.Когда курсор находится на первой строке, нажатие стрелки вверх ничего не делает.Курсор все еще находится в той же позиции.

Я хочу поведение IE7 во всех браузерах.Как мне этого добиться?Заранее спасибо.

1 Ответ

1 голос
/ 04 ноября 2011

Это будет означать немало работы и настройки, но вы можете использовать jQuery Caret , плагин jQuery.

Вы можете использовать его как для установки, так и для установки позиции курсора.

Прежде всего, вы можете отловить событие keydown в вашей текстовой области

<textarea id="myTextArea" value="some text" ></textarea>

с jQuery при проверке стрелки вверх, используя

$("#myTextArea").bind("keydown", function(e) {
    var code = e.keyCode || e.which;
    if(code == 38) { // Arrow up
        .... code here ....
    }
});

Затем вы должны использовать Caret для написания кода, который 1. запоминает последнюю позицию курсора, и 2. если нажата клавиша со стрелкой вверх и результирующая позиция равна 0, вы сбрасываете позицию курсора до последней запомненной. А затем напишите аналогичный код для нижней / нижней части.

Извините, я не могу запрограммировать это, но что-то вроде этого должно работать.

...