Javascript 如何捕获菜单选择事件
当用户试图使用Ctrl+F或“查找”菜单项搜索字符串时,我必须展开表中所有折叠的行。当用户点击Ctrl+F时,我可以做到这一点,但当用户选择菜单项“查找”时,我不知道如何实现同样的效果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(
$('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时,我希望实现同样的目标。