jQuery - 如果单击div或Esc键

时间:2015-03-28 03:24:45

标签: jquery

我为一些似乎很容易解决的事情而苦苦挣扎,但我还没有。

我希望通过单击其中一个元素或Escape键来触发函数。只是其中任何一个。

通过点击任何元素来触发功能很容易。

$(".element1, .element2").click(function()  {
    // do stuff
}

但是我如何制作一个IF语句,在那里我询问是否点击了两个div中的任何一个或按下了Esc键然后执行...?

2 个答案:

答案 0 :(得分:1)

您可以使用2个处理程序

//when click on either of these elements myHandler will be called
$(".element1, .element2").click(myHandler);
//on keyup on the document we check whether it is the escape key then call myHandler
$(document).keyup(function (e) {
    if (e.which == 27) {
        myHandler();
    }
})

function myHandler() {
    //your stuff
    console.log('stuff goes here')
}

演示:Fiddle

答案 1 :(得分:0)

检查fiddle

//query and bind elements by ID
$("#element1, #element2").click(tocall);

//hook escape event
**//In fiddle click on result pane to check escape event**
$(document).on('keyup',function(evt) {
    if (evt.keyCode == 27) {
       tocall();
    }
});
//JS handler function
function tocall()  {
    var d = new Date();
    $('#output').html(d.getTime()); 
}