在使用hotkeys监听按键的时候点击一个被监听的按键,会出现执行n次(监听n个按键),请问怎么能让他只执行一次呢?代码如下<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery-1.6.2.min.js" ></script>
<script type="text/javascript" src="js/jquery.hotkeys.js" ></script><script>
function demo()
{
$(document).bind('keydown', 'a' ,function(){
alert("a");
return false;});
$(document).bind('keydown', 'b' ,function(){
alert("b");
return false;});
}
$(document).ready(demo);
</script>
</head><body>
press a or b
</body>
</html>点击a会alert两次,如果将代码改为<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery-1.6.2.min.js" ></script>
<script type="text/javascript" src="js/jquery.hotkeys.js" ></script><script>
function demo()
{
$(document).bind('keydown', 'a' ,function(){
alert("a");
return false;});
$(document).bind('keydown', 'b' ,function(){
alert("b");
return false;});
$(document).bind('keydown', 'c' ,function(){
alert("c");
return false;});
}
$(document).ready(demo);
</script>
</head><body>
press a or b
</body>
</html>点击a会alert3次,求解决办法

解决方案 »

  1.   

    function demo()
    {
    $(document).bind('keydown', 'a' ,function(){
    alert("a");
    return false;});
    $(document).bind('keydown', 'b' ,function(){
    alert("b"); 
    return false;});
    $(document).bind('keydown', 'c' ,function(){
    alert("c"); 
    return false;});
    }
    $(document).ready(demo);修改为$(document).bind('keydown', 'a' ,function(){
    alert("a");
    }
    $(document).bind('keydown', 'b' ,function(){
    alert("b"); 
    }
    $(document).bind('keydown', 'c' ,function(){
    alert("c"); 
    }
    或者做一个监听事件  ~~然后判断按下去的 KEY值 跟你的  A B C 做判断  你这个代码 好比就是绑定了3个监听事件  每次都会判断 3遍
      

  2.   

    回复1楼:
    我更改了一下jquery的版本,从1.6.2改为1.3.2就可以了…… 
    我是按照hotkeys给的demo写的
    可能还是jquery版本的问题吧
      

  3.   

    就这样吧,结贴了。
    难道还是老版本的jQuery比较稳定?