Javascript防止游标移动

javascript prevent cursor to move

本文关键字:移动 游标 Javascript      更新时间:2023-09-26

在输入框中,我想要停止光标的传播,就像我在上键上键入"& warr;":

:

tes|t//光标在t

之前

After:

|test//光标开始

我想阻止光标移动,所以它必须停留在t之前。

到目前为止,我正在尝试这个,但它不起作用:

$('input').keyup(function(e) {
    if (e.which == 40) { // up key
        e.stopPropagation();
        e.stopImmediatePropagation();
        e.preventDefault();
        // actions
        return false;
    }
}

您可以使用keydown:

$('input').keydown(function(e) {
    if (e.which == 40) { // up key
        return false;
    }
}

keyupkeypress事件处理后触发,keypress应该不会为不可打印的字符触发(尽管不同浏览器之间存在一些不一致),因此在keydown阻止事件的默认操作是最好的操作过程。

请记住,如果你没有一个很好的理由来阻止默认操作(例如,在搜索字段集中时通过自动完成列表),你可能会影响其他用户的可用性,正如@Kolink所评论的。