我有一个文本区域,每次输入时我希望它在写入内容时变为空白。但我的问题是;在第一行输入换行符,然后从第二行继续写入。它只发生在第一次进入时。清空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
}
});
关于javascript - 按键时换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14094526/