2

小提琴:http: //jsfiddle.net/TKWzH/8/

“Test Pop”是项目的当前功能。“Test Pop 2”是我希望我的脚本发挥的作用。然而,实际的脚本在点击执行方面比仅仅关闭弹出窗口有更多的功能。

有没有办法将 on enter 和 on mouseup 命令组合成一行?

$("#popup2 label").on('keyup || mouseup', function (event) {
    $('#popup2').css('display', 'none');
});

类似的东西就是我正在寻找的东西,但我希望这个键只能用于 enterkey keyup。正如所写,它发生在任何键上。

我试图这样做的原因是因为我想让表单键盘可以访问。从小提琴中可以看出,如果您使用键盘在 Test Pop 中导航,则必须在选择单选按钮后重新打开对话框。

4

2 回答 2

4

只需使用一个空间。

$("#popup2 label").on('keyup mouseup', function (e) {
    if (e.type == 'keyup' && e.which != 13) return;
    $('#popup2').css('display', 'none');
});

文档

 .on( events [, selector] [, data], handler(eventObject) )

events一种或多种以空格分隔的事件类型和可选的命名空间,例如“click”或“keydown.myPlugin”。

于 2012-07-16T18:19:13.387 回答
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');
    }
});

可以简化很多,但只是为了展示它是如何完成的!

于 2012-07-16T18:28:41.100 回答