desabilitar a tecla enter em checkboxs de texto específicas

Eu estava procurando uma maneira de fazer isso, tenho alguns scripts, mas nenhum deles está funcionando para mim.

Quando eu digito entrar em minhas checkboxs de texto, não deve fazer nada.

Eu tentei alguns scripts JavaScript e jQuery, mas nada está funcionando para mim.

$(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, " ")); }); }); 

Isso funciona para mim.

 $('textarea').keypress(function(event) { if (event.keyCode == 13) { event.preventDefault(); } }); 

jsFiddle .

Sua segunda peça parece ter sido projetada para capturar pessoas colando em várias linhas. Nesse caso, você deve ligá-lo à keyup paste .

Ele impede que o usuário pressione Enter na checkbox de texto e aqui eu retorno false, que impede que o formulário seja enviado.

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

Se você quiser impedir a tecla Enter para uma checkbox de texto específica, use js inline.

  

Funciona para mim:

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

http://jsfiddle.net/esEUm/

ATUALIZAR

Caso você esteja tentando impedir a apresentação do formulário pai em vez de uma quebra de linha (o que só faz sentido, se você estiver usando uma área de textarea , o que aparentemente não está fazendo?), Convém verificar essa pergunta: Desativar a tecla enter em um formulário com jquery

Eu encontrei esta solução de combinação em 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, '
'); $(this).html(keyed); });

Se você quiser desabilitar todos os tipos de checkbox de texto de pesquisa. Dê a todos eles uma class e use essa class como ‘search_box’ seguindo.

 //prevent submission of forms when pressing Enter key in a text input $(document).on('keypress', '.inner_search_box', function (e) { if (e.which == 13) e.preventDefault(); }); 

Felicidades! 🙂

Eu não entendo porque todo mundo aqui está sugerindo usar o jquery. Existe um método muito simples para um campo de elemento de input específico. Você pode usar seu atributo onKeyDown e usar o método e.preventDefault () nele. Como isso:

  e.preventDefault()}/> 

Nota: Esta é a maneira React JSX de usar este atributo você pode usar a maneira básica de HTML.

Use o seletor global $ (‘input’) … se você usar várias checkboxs de texto na página, o ID (‘#comment’) causará problemas. E ao usar o conteúdo dynamic, vincule-o usando .live, por exemplo

 $('input:not(textarea)').live('keypress',function(e) { if (e.which == 13) return false; if (e.which == 13) e.preventDefault(); }); 

(Desativar entrar para checkboxs de texto e deixa entrar habilitado para áreas de texto)

  

http://webcheatsheet.com/javascript/disable_enter_key.php