小提琴:http://jsfiddle.net/TKWzH/8/
“测试弹出”是项目的当前功能。 “Test Pop 2”是我希望我的剧本能够发挥作用的。但是,实际脚本在单击执行上的功能要比关闭弹出窗口要多得多。
有没有办法将on enter和on mouseup命令合并为一行?
$("#popup2 label").on('keyup || mouseup', function (event) {
$('#popup2').css('display', 'none');
});
这样的东西就是我正在寻找的,但我希望密钥只能用于enterkey keyup。如上所述,它适用于任何密钥。
我尝试这样做的原因是因为我想让表单键盘可访问。从小提琴中可以看出,如果您使用键盘浏览Test Pop,则必须在选择单选按钮后重新打开对话框。
答案 0 :(得分:4)
只需使用空格。
$("#popup2 label").on('keyup mouseup', function (e) {
if (e.type == 'keyup' && e.which != 13) return;
$('#popup2').css('display', 'none');
});
来自docs:
.on( events [, selector] [, data], handler(eventObject) )
事件一个或多个空格分隔的事件类型和可选命名空间,例如“click”或“keydown.myPlugin”。
答案 1 :(得分:0)
$("#popup2 label").on('keyup mouseup', function (e) {
if (e.type==='keyup') { //key was pressed
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) { //Enter was pressed
//Do something
$('#popup2').css('display', 'none');
}
}else{
//mouseup was the trigger
$('#popup2').css('display', 'none');
}
});
可以简化很多,但只是为了展示它是如何完成的!