我有一个textarea,如果要写东西,在每个输入上我都希望它空白。但是我的问题是在第一个输入行上,它会换行,然后您从第二行继续写。它仅在第一次进入时发生。清空文本区域没有问题,您只需继续从第二行开始写,这就是问题所在。
onkeydown= if(event.keyCode == 13){
sendMessage();
}
function sendMessage(user){
var message = $('#textarea').val();
$('#textarea').val('');
}
最佳答案
if(event.keyCode == 13) {
sendMessage();
if (event.preventDefault) event.preventDefault();
return false;
}
keydown
发生在将字符输入textarea
之前,因此您只需要在事件上调用preventDefault
,这样,在调用清除文本区域的函数后,它不会输入换行符。如果上面的代码在HTML中是内联的,那么单独使用return false
也应该足够了,实际上不建议这样做。请参阅下面的更新的解决方案:为了不引人注目和向后兼容,我建议使用jQuery完成所有操作:
$('#textarea_ID').keydown(function(e) {
if (e.which == 13) {
e.preventDefault();
var message = $(this).val();
$(this).val('');
//rest of your function using `message` here
}
});
Fiddle
关于javascript - 键盘按下时换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14094526/