尝试使用相同的字母热键使用alt和alt+shift
Trying to use same letter for hotkey using alt and alt+shift
我正在使用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>
我强烈建议使用https://github.com/keithamus/jwerty处理键盘事件。
它看起来像这样
jwerty.key('alt+a', function() {
// success
});
jwerty.key('alt+shift+a', function() {
// try again
});
嗯,alt+shift+a似乎没有响应预期在Chrome,也许有冲突。我得到alt+a和alt+shift+触发#尝试以下代码:
$(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');
});
你可以试试if(e.altKey && e.ctrlKey && e.which===97)
on #try。
原来我设置了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>
相关文章:
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- 我可以使用哪些方法在Internet Explorer中禁用Alt+*X*
- 如何使用javascript触发键盘快捷键(ctrl+alt+R)
- 取出图像标签alt:丢失"没有alt-id的图像标签是优选的并且不显示丢失的“;
- 有没有一种方法可以为卸载的lazylod图像隐藏alt标签
- jQuery dataTables基于类型的列筛选不起作用?Img alt过滤器/排序
- 如何模拟shift/ctrl/alt键状态
- 用Javascript替换图像和图像标题/alt文本
- 使用 JavaScript 将 img 标记替换为 alt
- AltGr treated as Alt + Ctrl
- 使用jquery为基于alt文本的一些图像添加一个类
- Javascript/jQuery:根据内部的IMG ALT更改li类和样式
- 如何在alt.js中使用源成功请求后更新状态
- 将Alt+Shift绑定到Ctrl按钮
- 在IE 7/8中使用alt + shift + a作为热键
- 尝试使用相同的字母热键使用alt和alt+shift
- 如何在reactjs点击事件中检测Click + [Shift, Ctrl, Alt]
- Keycodes ALT + SHIFT + number
- 镜像输入内容与不可打印的字符,如CTRL, ALT或shift键