活动的两个"or"条件?



Fiddle:http://jsfiddle.net/TKWzH/8/

"测试弹出"是项目的当前功能。"测试弹出窗口2"是我希望我的脚本发挥的作用。然而,实际的脚本在点击执行时有更多的功能,而不仅仅是关闭弹出窗口。

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

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

类似的东西是我正在寻找的,但我希望key up只对enterkey keyup起作用。正如上面所写的,任何键都会发生这种情况。

我之所以尝试这样做,是因为我想让表单键盘可以访问。正如你从小提琴中可以看出的那样,如果你用键盘浏览Test Pop,你必须在选择单选按钮后重新打开对话框。

只需使用一个空格。

$("#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) )

事件一个或多个空格分隔的事件类型和可选名称空间,如"click"或"keydown.myPlugin"。

$("#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');
    }
});

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

最新更新