今天在写一个小程序时,用到了在文本框中捕捉回车键的功能,我想肯定能够用Javascript实现,于是百度了以下,得到如下实现。
HTML页面如下:
<textarea class="form-control" name="message" id="message" style="display: inline-block;" onkeypress="onKeyPress(event)"></textarea> <input type="button" class="btn btn-default" id="sendmessage" value="发送" />
JS文件实现如下:
function onKeyPress(event) { event = event || window.event; if (event.keyCode == 13) { event.returnValue = false; $(‘#message‘).val(‘‘).focus(); } }
一开始我是用Google Chrome浏览器测试的,发现一切良好,可是刚刚用IE11浏览器测试时,发现事件是可以捕捉到,但是文本框被清空后,光标另起一行闪动,也就是说实际上还是换行了,很奇怪的是如果我用“shift+enter”的方式,就运行良好。百度了很多,基本上都是上述解决方法,对IE11没有作用。后来查找资料发现,还需要新增一行js代码:
event.preventDefault();
上面代码就是阻止事件的默认行为,显然IE浏览器需要这个操作。
本文出自 “Jsl_mes” 博客,请务必保留此出处http://jslmes.blog.51cto.com/5008224/1604370
Javascript实现在textarea中输入回车键不换行
原文地址:http://jslmes.blog.51cto.com/5008224/1604370