3

jQueryでバックスペースキーイベントをトリガーするにはどうすればよいですか?

次の例は機能しません。

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

2 に答える 2

10

実際にトリガーすることはできません。

たとえば、特定の入力から最後の文字を削除することはできますが、実際のキーをトリガーすることはできません。

例:

var str = $('#input').val();
$('#input').val(str.substring(0, str.length - 1));
于 2012-02-11T22:43:20.300 に答える
2

Backpace キーをトリガーすることはできません。

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

このjsfiddleを参照してください(キャレットプラグインのソースを変更する必要がある場合があります)

于 2014-04-18T21:16:41.280 に答える