js 取消回车事件

最近在写一个js小玩意儿,里边涉及到这样一个功能:在textarea中编辑东西完成之后,敲回车,发送消息,清空textarea;

但是出现一个bug:敲回车后,textarea里会残余一个换行符;
想来想去,应该是这个回车敲击以后,清空textarea的方法调用之后,事件还在继续,于是换行符被当做输入,进入了textarea;

如何让这个回车事件在清空textarea之后就取消呢?

在网上找到这篇文章JS阻止事件冒泡,于是在代码里加了一句

obj.preventDefault();

就解决了;

demo如下:

<html>
<head>
    <script type="text/javascript">

        function BindEnter(obj){
            if(obj.keyCode == 13){
                if (!obj.ctrlKey) {

                    document.getElementById("ta").value="";
                    obj.preventDefault();//这句话可以阻止回车事件冒泡;如果注释掉这句话,那么会有空格残余;
                } 
            }    
        }
    </script>
</head>
<body onkeydown="BindEnter(event)">
    <textarea id="ta" rows="10" cols="30">
        The cat was playing in the garden.
    </textarea>
</body>
</html>

时间: 2024-11-05 20:25:55

js 取消回车事件的相关文章

js捕获回车事件,并且获取每一条输入内容

1 <body> 2 <div style="width: 200px; height: 20px;"> 3 <textarea id="inputValue" onkeyup="keyup()"></textarea> 4 </div> 5 </body> 6 <script> 7 //判断回车符,并且获取每一行的内容 8 function keyup(para

js 设置回车事件

document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode==27){ // 按 Esc //要做的事情 } if(e && e.keyCode==113){ // 按 F2 //要做的事情 } if(e && e.keyCode==13){ // enter 键 //要

JS绑定回车事件

1.BODY 上绑定 onkeyup="LoginEnter(event)" 2.obj.keyCode==number number为键盘的KEY值 Login();为调用方法 obj.returnValue=falese; 防止后面的操作 function LoginEnter(obj) {            if (obj.keyCode == 13) {                Login();                obj.returnValue = fal

easyui-combobox绑定回车事件注意事项

回车事件的定义的位置必须是easyui-combobox数据加载的后面,才有效果. HTML文件: <select id="aucBrandNo" class="easyui-combobox" name="aucBrandNo" style="width: 160px;" data-options="required:true,onHidePanel:function(){validateComboboxIn

原 JS监听回车事件

原 JS监听回车事件 发表于2年前(2014-06-04 10:16)   阅读(6101) | 评论(0) 11人收藏此文章, 我要收藏 赞0 1月16日厦门 OSC 源创会火热报名中,奖品多多哦   JS监听某个输入框 ? 1 2 3 4 5 6 7 //回车事件绑定     $('#search_input').bind('keyup', function(event) {         if (event.keyCode == "13") {             //回车

JS 禁用回车、后退事件、form 表单不可编辑

一: 事件: 初始化函数中: //禁用回车 后退事件 document.onkeydown = function () { if (window.event && (window.event.keyCode == 13 || window.event.keyCode== 8)) { window.event.returnValue = false; } } 二:form 表单不可编辑: $('#myFormId').find('input,textarea,select').attr('r

js 监听整个页面的回车事件

JS监听整个页面的回车事件 <script type="text/javascript"> document.onkeydown=keyDownSearch;        function keyDownSearch(e) {          // 兼容FF和IE和Opera          var theEvent = e || window.event;          var code = theEvent.keyCode || theEvent.which

js回车事件

回车事件使用的是HTML的Event对象,通过keyCode推断被敲击的键. <intput type="text" onkeydown="Click()"> <script type="text/javascript"> function Click(){ if(event.keyCode == 13){ //按下回车键 //do something } } </script> 或者: <input t

JS:event对象下的target属性和取消冒泡事件

1.target 通过获取DOM元素 var box = document.getElementById("box"); document.box.onclick = function(){  alert(123);//123 } event对象下的target方法 :获取事件的目标,不用document.getElementById("box")即可获取目标; //W3C下 document.onclick = function(evt){ var e = evt