我正在使用 JavaScript 创建一些聊天应用程序,该应用程序允许在按下 Enter 键后发送消息
window.onkeydown=function(event){
if(event.keyCode==13){
sendNew();
}
}
并在发送新消息()功能;
var msg=document.getElementById('txt').value.toString().trim();
if(msg!=="") {
//send message
document.getElementById('txt').value = "";
}
当文本区域按下回车键时onfocus文本被清除,但似乎插入了一个新行字符,并且光标转到文本区域中的下一行。
我怎样才能摆脱这个并拥有一个完全空的文本区域?
你要做的就是取消浏览器按回车键时的默认行为(你必须阻止浏览器添加新行)。
解决方法:使用event.preventDefault()
。文档:https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault
试试这个代码:
window.onkeydown=function(event){
if(event.keyCode==13){
sendNew();
if(event.preventDefault) event.preventDefault(); // This should fix it
return false; // Just a workaround for old browsers
}
}
一些开发人员忘记了event.preventDefault
和写return
false
反而。这是一个不好的做法,我建议你
新方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)