Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何捕获菜单选择事件_Javascript_Jquery - Fatal编程技术网

Javascript 如何捕获菜单选择事件

Javascript 如何捕获菜单选择事件,javascript,jquery,Javascript,Jquery,当用户试图使用Ctrl+F或“查找”菜单项搜索字符串时,我必须展开表中所有折叠的行。当用户点击Ctrl+F时,我可以做到这一点,但当用户选择菜单项“查找”时,我不知道如何实现同样的效果 $('body').keydown(function(e){ if(e.ctrlKey && e.which == 70){ $(expandAll()); } }); function expandAll() { $("#resultDetails tr").each(

当用户试图使用Ctrl+F或“查找”菜单项搜索字符串时,我必须展开表中所有折叠的行。当用户点击Ctrl+F时,我可以做到这一点,但当用户选择菜单项“查找”时,我不知道如何实现同样的效果

$('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();
    });
}
。如何捕获浏览器菜单项事件


想法。

只需像这样运行函数:

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

使用此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; } document.onkeydown=函数(e){ //选中ctrl+f键 如果(e.ctrlKey==true&&e.keyCode==70){ e、 预防默认值(); //警报('Ctrl+f被击中…'); $(expandAll()); 返回false; }
你无法收听浏览器事件,你唯一能做的就是你已经做过的事情,只订阅keyup和keydown事件。
您无法挂接搜索浏览器功能。

我已经完成了此操作,并且能够捕获Ctrl+F,但是当用户使用菜单项“查找”而不是Ctrl+F时,我希望执行相同的操作。您的修复程序将在自定义菜单上运行,但我希望捕获浏览器菜单项(例如,对于IE,编辑-->在此页面上查找)。无论如何,请在那里应用该功能。由于它不在浏览器中加载的文档的范围内,因此您将无法应用该功能。这也是为什么很难检测“后退”按钮或“刷新”单击,并且必须求助于卸载事件来恢复的原因check@DhavalMarthakDhaval,如果我正在使用Ctrl+F或使用菜单项Find and If any r搜索字符串ow是隐藏/折叠的(如果此隐藏行包含所需字符串),则浏览器将无法找到所需字符串作为其隐藏。因此,我的想法是捕获Ctrl+F事件并展开所有行。使用上述代码,我可以捕获Ctrl+F。当用户使用菜单项find时,我希望实现同样的目标。