首页 > 代码库 > Javascript实现在textarea中输入回车键不换行

Javascript实现在textarea中输入回车键不换行

今天在写一个小程序时,用到了在文本框中捕捉回车键的功能,我想肯定能够用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="http://www.mamicode.com/发送" />

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中输入回车键不换行