在jQuery中触发退格键

时间:2012-02-11 22:41:47

标签: jquery triggers keyevent backspace

如何在jQuery中触发退格键事件?

以下示例无效:

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

2 个答案:

答案 0 :(得分:8)

你实际上无法触发它。

例如,您可以删除某个输入中的最后一个字符,但不能触发实际的键。

示例:

var str = $('#input').val();
$('#input').val(str.substring(0, str.length - 1));

答案 1 :(得分:2)

您无法触发后退密钥。

使用jquery caret plugin,您可以通过删除正确的字符来模拟退格键上的按键。

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);
    }
};

请参阅this jsfiddle(您可能需要更改插入符插件源)