新手问一个回车响应的问题

I_will_back 2013-01-18 01:15:51
<html>
<head>

<script type="text/javascript">



function gg() //整个页面如果有回车键事件发生时

{
if(event.keyCode==13)
{
document.getElementById("start").click();
return false;
}
}
</script>

</head>

<body>
<form>
<input type="button" id = "start" onclick = "alert('sb')" value="调用函数" onkeydown = "gg()">
</form>
</body>
</html>




以上这段代码按回车没反应,改成<body onkeydown = "gg()">就有了,就是把onkeydown放在body里。


之前那样调用为啥不行,不也是body里吗?求大神解释。
...全文
170 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
scscms太阳光 2013-01-18
  • 打赏
  • 举报
回复
<body>
<input type="button" id = "start"  value="回车试试" onkeydown = "gg(event)">
<script type="text/javascript">
    window.onload=function(){
        document.getElementById("start").focus();//自动获取焦点
    };
    function gg(e){
        e = e||event;
        var code = e.which||e.keyCode;
        if (code == 13 || code == 32){
            alert("鼠标在id:start 并且你按了回车!");
        }
    }
</script>
</body>
scscms太阳光 2013-01-18
  • 打赏
  • 举报
回复
引用 6 楼 I_will_back 的回复:
我加在gg函数里,那应该怎么办啊。
gg()函数是触发后执行的代码,当然不行啦。你应该加在页面加载完后就自动执行的地方。
Joson.e8love 2013-01-18
  • 打赏
  • 举报
回复
楼主可以结贴了 \(^o^)/~


<html>
<head>
 
<script type="text/javascript">
(function()
     
{     
 if(event.keyCode==13)     
 {     
  document.getElementById("start").click();     
  return false;  
 }     
})()
</script>
 
</head>
 
<body>
<form>
<input type="button" id = "start"  onclick = "alert('是这样的,匿名 函数 闭包执行')" value="调用函数" >
</form>
</body>
</html>


Joson.e8love 2013-01-18
  • 打赏
  • 举报
回复


    $(QueryObj).keydown(function (event) {
 
        if (event.keyCode == 13) {
 
            var value = $(this).val();
            var values = encodeURIComponent(encodeURIComponent($(this).val()));
 
            window.location = PostURL + value;
 
            //window.location = PostURL + "?Keywords=" + values;
 
            return false;
        }
 
    });
 
    $(QueryObj).parent().siblings().find("input").click(function () {
 
 
        var value = $(QueryObj).val();
        var values = encodeURIComponent(encodeURIComponent($(QueryObj).val()));
        window.location = PostURL + value;
 
        //window.location = PostURL + "?Keywords=" + values;
 
    });

QueryObj 就是你的控件对象 如你的 $("#start") 就是 $() 别忘了调用 Jquery
Joson.e8love 2013-01-18
  • 打赏
  • 举报
回复
刚好写完一个 希望对你有帮助


    $(QueryObj).keydown(function (event) {

        if (event.keyCode == 13) {

            var value = $(this).val();
            var values = encodeURIComponent(encodeURIComponent($(this).val()));

            window.location = PostURL + value;

            //window.location = PostURL + "?Keywords=" + values;

            return false;
        }

    });

    $(QueryObj).parent().siblings().find("input").click(function () {


        var value = $(QueryObj).val();
        var values = encodeURIComponent(encodeURIComponent($(QueryObj).val()));
        window.location = PostURL + value;

        //window.location = PostURL + "?Keywords=" + values;

    });

I_will_back 2013-01-18
  • 打赏
  • 举报
回复
引用 5 楼 xzy21com 的回复:
哪要看你加哪,怎么加,总之你自己看看光标在不在那个输入框
我加在gg函数里,那应该怎么办啊。
scscms太阳光 2013-01-18
  • 打赏
  • 举报
回复
哪要看你加哪,怎么加,总之你自己看看光标在不在那个输入框
I_will_back 2013-01-18
  • 打赏
  • 举报
回复
引用 1 楼 xzy21com 的回复:
<input type="button" id = "start" onclick = "alert('sb')" value="调用函数" onkeydown = "gg()">这里的意思是必须光标在这个输入框里然后按回车才有效果 <body onkeydown = "gg()">这个意思是只要本网页是当前页按回车即可。两者有区别!
那我为啥加了document.getElementById("start").focus(); 还是不行呢。
I_will_back 2013-01-18
  • 打赏
  • 举报
回复
引用 1 楼 xzy21com 的回复:
<input type="button" id = "start" onclick = "alert('sb')" value="调用函数" onkeydown = "gg()">这里的意思是必须光标在这个输入框里然后按回车才有效果 <body onkeydown = "gg()">这个意思是只要本网页是当前页按回车即可。两者有区别!
那我为啥加了document.getElementById("start").focus(); 还是不行呢。
afeilee 2013-01-18
  • 打赏
  • 举报
回复
是这样呀,前提是你的按钮要获得焦点,否则就是body里面的keydown事件
scscms太阳光 2013-01-18
  • 打赏
  • 举报
回复
<input type="button" id = "start" onclick = "alert('sb')" value="调用函数" onkeydown = "gg()">这里的意思是必须光标在这个输入框里然后按回车才有效果 <body onkeydown = "gg()">这个意思是只要本网页是当前页按回车即可。两者有区别!

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧