第一个问题是:对一个网页设置组合快捷键,在IE内核浏览器或是谷歌浏览器通过event.ctrlKey就可以捕获Ctrl键,但是在火狐中测试了这一招不行。有人说用e.which等,也不见效。function clickSearch(e)
{
var currKey=0,e=e||event;
  currKey=e.keyCode||e.which||e.charCode;
if(currKey==13) 
{
//dosomething
}
}
用这段代码来做Enter键是可以的,也就是按下单键在火狐中也能执行。但是组合键就不可以用“currKey==17&&currKey==51”这样的组合是不行的,而且也不是科学的。要的要求是两个键同时按下才执行的效果。所以问哪位大虾有没有好的在火狐中兼容组合快捷键的代码!!
第二个问题
就是通过JS来触发一个a标签的点击事件,在网上找到代码:var comment = document.getElementById("aaa");
if (document.all) {
 // For IE 
   comment.click();
} else if(document.createEvent) {
   //FOR DOM2
   alert("进来了!");
   var ev = document.createEvent("MouseEvents");
   ev.initEvent("click", true, true);
   comment.dispatchEvent(ev);
}我用了alert()来做测试,结果它执行了。
但是后面的点击事件没有执行,document.createEvent("HTMLEvents");有人说要document.createEvent("MouseEvents");,但这两种都不起作用。所以也请各位大虾,有没有更好的解决方法。
IE、遨游、Chrome、Opera等都没问题,就是这个火狐,太不近人情了!!恳请大家给个好的解决方案!!

解决方案 »

  1.   

    1
    function a(ev){
    var ev=window.event||ev;
    if (ev.ctrlKey && ev.keyCode==13){
    alert('按下了ctrl+回车');
    }
    } document.onkeydown=function(ev){
    a(ev);
    }
      

  2.   

    <a id="ref" onclick="showClick()">...</a><script type="text/javascript">
    function showClick()
    {
     alert("ok")
     location.href='http://dotnet.aspx.cc'
    }
    window.onload=function()
    {
      document.getElementById("ref").onclick();
    }
    </script>
      

  3.   

    2,firefox MouseEvents不能触发a标签的链接跳转事件,
    你可以在a里加一个 onclick="location.href='http://www.csdn.net'" 这样在ff下就可以触发
      

  4.   

    function a(ev){
        var ev=window.event||ev;
        if (ev.ctrlKey && ev.keyCode==13){
            alert('按下了ctrl+回车');
        }
    }