2013-07-10 6 views
0

링크가있어서 키보드 단축키를 바인딩하려면 어떻게해야합니까? 작동하지 않는 것 같습니다 :쥐덫으로 링크 만들기

<a id="next" href="/next/page">Next page</a> 
<script src="mousetrap.js"></script> 
<script> 
    Mousetrap.bind("n", function() { 
    document.getElementById("next").click(); 
    }); 
</script> 

답변

0

내가 코드가 작동하고 내가 JS의 전문가가 아니라 나처럼되지 믿는 이유 몇 가지가있다; 나는 나의 작은 경험에서 이것을 말하고있다.

  • 앵커 태그에 대해 onClick 함수가 정의되어 있다고 가정합니다. 비록 그것이라고해도 - 당신은 onclick 함수에서 어떤 일이 일어나는지 정의하지 않았습니다.

  • 동일한 기능을 수행하려면 외부 함수를 사용해야합니다. 너무 효과적으로 클릭 할 수있는 앵커 태그와 사용자가 'N'을 누를 때 원하는 페이지로 이동하는 기능이 있습니다.

나는 약간의 해결책을 생각했다. 아래를 보시고 틀린 곳에서 운동 할 수 있는지 알아보십시오. JS에 대해 경험이있는 사람이 정확히 무엇이 잘못되었는지와 왜 작동하지 않는지에 대해 알려 드리겠습니다.

<html> 
<head> 
<title>mouse trap test</title> 
</head> 
<body> 
    <a id="next" href="next/page">Next page</a> 
<script src="mousetrap.js"></script> 
<script> 

function GoToLocation(url) 
    { 
    //window.location = "http://www.stackoverflow.com"; 
    window.location = url; 
    } 

    Mousetrap.bind("n", function() { 
    //alert('N pressed' + document.getElementById("next").href); 
    //document.getElementById("next").click(); 
    GoToLocation(document.getElementById("next").href); 
    }); 


</script> 
</body> 
</html> 

위의 내용이 도움이되기를 바랍니다.

0

링크를 클릭해야하는 특별한 이유가 있습니까? 대신이 일이 너에게 도움이 될까? 또한

Mousetrap.bind("n", function() { 
    window.location.href = "/next/page"; //Or document.getElementById('next').href as in Robert's response. 
}); 

이 도움이 될 수 있습니다 : How do I programmatically click on an element in JavaScript?