我正在使用Chrome并尝试使用JQuery将 alt + a 映射到一个输入,将 alt + shift + a 映射到另一个输入。我已经使用chrome调试它仍然无法搞清楚。我很困惑这是最好的方法。我不确定这是否可行。我也尝试在两个输入上使用accesskey =“a”但在这种情况下它只是命中第二个输入。
任何想法或帮助将不胜感激。感谢
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"/>
<script type="text/javascript" language="JavaScript">
$(document).ready( function () {
$(document).keyup('alt+a', function () { $('suc').click(); });
$(document).keyup('alt+shift+a', function () { $('try').click(); } );
});
</script>
</head>
<body>
<form>
<input type="submit" formaction="file:///C:/Users/me/Desktop/success.html" value="Success" accesskey="a" id="suc">
<input type="submit" formaction="file:///C:/Users/me/Desktop/tryAgain.html" value="TryAgain" accesskey="a" id="try" >
</form>
</body>
</html>
答案 0 :(得分:1)
我强烈建议使用https://github.com/keithamus/jwerty来处理键盘事件。
它看起来像是这样
jwerty.key('alt+a', function() {
// success
});
jwerty.key('alt+shift+a', function() {
// try again
});
答案 1 :(得分:0)
嗯,alt + shift + a似乎没有像Chrome中预期的那样响应,也许存在冲突。我正在使用以下代码获得alt + a和alt + shift +触发#try:
$(window).on('keypress', function(e){
if(e.altKey && e.which===97)
$('#suc').trigger('submit');
});
$(window).on('keypress', function(e){
if(e.altKey && e.shiftKey && e.which===97)
$('#try').trigger('submit');
});
您可以在#try上尝试if(e.altKey && e.ctrlKey && e.which===97)
。
答案 2 :(得分:0)
原来我设置了accesskey属性,并尝试使用jquery设置热键。
Chrome听起来像是发生了错误。我使用这篇文章寻求帮助:http://www.openlogic.com/wazi/bid/188026/Easy-Keyboard-Shortcuts-for-Web-Pages
我将继续https://github.com/tzuryby/jquery.hotkeys。
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).keyup(
function(e) {
e = e || window.event; // because of Internet Explorer quirks...
k = e.which || e.charCode || e.keyCode; // because of browser differences...
if (k == 65 && e.altKey && !e.ctrlKey && !e.shiftKey) {
$('form').prop('action', 'file:///C:/Users/me/Desktop/tryAgain.html').submit();
} else if (k == 65 && e.altKey && !e.ctrlKey && e.shiftKey) {
$('form').prop('action', 'file:///C:/Users/me/Desktop/success.html').submit();
} else {
return true; // it's not a key we recognize, move on...
}
return false;
});
</script>
</head>
<body>
<form>
<input type="submit" formaction="file:///C:/Users/me/Desktop/success.html" value="Success" id="suc">
<input type="submit" formaction="file:///C:/Users/me/Desktop/tryAgain.html" value="TryAgain" id="try" >
</form>
</body>
</html>