禁用特定文本框上的输入键

43 jquery

我正在寻找一种方法来做到这一点,得到了一些脚本,但它们都没有为我工作.

当我在文本框中输入时,它不应该做任何事情.

我尝试了一些JavaScript和jQuery脚本,但没有什么对我有用.

$(document).ready(function() {
    $('#comment').keypress(function(event) {
        if (event.keyCode == 13) {
            event.preventDefault();
        }
    });

    $('#comment').keyup(function() {
        var txt = $('#comment').val();
        $('#comment').val(txt.replace(/[\n\r]+/g, " "));
    });
});
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 49

这适合我.

$('textarea').keypress(function(event) {
    if (event.keyCode == 13) {
        event.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

你的第二件作品看起来像是为了捕捉人们多行粘贴.在这种情况下,您应该将其绑定到keyup paste.


PHP*_*ari 13

它阻止用户在文本框中按Enter键,这里我返回false,阻止表单提交.

$(document).ready(function()
    {
        // Stop user to press enter in textbox
        $("input:text").keypress(function(event) {
            if (event.keyCode == 13) {
                event.preventDefault();
                return false;
            }
        });
});
Run Code Online (Sandbox Code Playgroud)


小智 12

如果要阻止特定文本框的Enter键,请使用内联js.

<input type="text" onkeydown="return (event.keyCode!=13);"/>
Run Code Online (Sandbox Code Playgroud)


pol*_*lau 7

适合我:

$('#comment').keypress(function(event) {
    if (event.which == 13) {
        event.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/esEUm/

UPDATE

如果你试图阻止提交父表单而不是换行符(这只是有意义的,如果你正在使用a textarea,你显然没有这样做?)你可能想要检查这个问题:禁用jquery驱动的表单上的回车键


小智 5

我在http://www.askmkhize.me/how-can-i-disable-the-enter-key-on-my-textarea.html找到了这个组合解决方案

$('textarea').keypress(function(event) {

if ((event.keyCode || event.which) == 13) {

    event.preventDefault();
    return false;

  }

});

$('textarea').keyup(function() {

    var keyed = $(this).val().replace(/\n/g, '<br/>');
    $(this).html(keyed);


});
Run Code Online (Sandbox Code Playgroud)