如何捕获菜单选择事件

时间:2014-04-09 09:19:48

标签: javascript jquery

当用户尝试使用Ctrl + F或使用菜单项Find查找字符串时,我必须展开表的所有折叠行。我可以在用户按Ctrl + F时执行此操作,但在用户选择菜单项Find时不确定如何实现相同功能。

$('body').keydown(function(e){
  if(e.ctrlKey && e.which == 70){
    $(expandAll());
  }
});

function expandAll() {
    $("#resultDetails tr").each(function(){
        if ($(this).hasClass('expand')) 
           $(this).removeClass('expand').addClass('collapse');
        $(this).show();
    });
}

Demo。如何捕获浏览器菜单项事件。

思考。

3 个答案:

答案 0 :(得分:1)

只需运行如下函数:

$('body').keydown(function(e){
  if(e.ctrlKey && e.which == 70){
    expandAll(); //no need to use jQuery way
  }
});

根据你的评论:

//run the function on click event:

$('.your-menu').on('click',expandAll);

答案 1 :(得分:1)

没有办法可以收听浏览器事件,你唯一可以做的就是你已经做过的事情,只订阅keyup和keydown事件。 你不能挂钩搜索浏览器功能。

答案 2 :(得分:0)

使用此javascript代码无需使用任何jquery

    document.onkeydown = function (e) {

        // check ctrl + f key
        if (e.ctrlKey === true && e.keyCode === 70) {

            e.preventDefault();

           //alert('Ctrl + f was hit...');

             $(expandAll());

            return false;
        }