Триггер Backspace в JQuery - PullRequest
       16

Триггер Backspace в JQuery

1 голос
/ 12 февраля 2012

Как я могу вызвать событие возврата клавиши в jQuery?

Следующий пример не работает:

var e = jQuery.Event("backspace", { keyCode: 8 });
$("#myarea").trigger( e );

Ответы [ 2 ]

8 голосов
/ 12 февраля 2012

Вы не можете фактически запустить его.

Вы можете, например, удалить последний символ из определенного ввода, но вы не можете вызвать фактическую клавишу.

Пример:

var str = $('#input').val();
$('#input').val(str.substring(0, str.length - 1));
2 голосов
/ 19 апреля 2014

Вы не можете вызвать клавишу возврата.

С помощью плагина jquery Caret вы можете смоделировать нажатие клавиши возврата, удалив правильные символы.

backspace = function (element_name) {
    var element = $(element_name);
    var caret_pos = element.caret();
    var new_val = element.val().substr(0, caret_pos - 1) + element.val().substr(caret_pos);
    element.val(new_val);
    if (caret_pos > 0) {
        element.caret(caret_pos - 1);
    }
};

См. этот jsfiddle (вам может потребоваться изменить источник плагина caret)

...