我们首先要考虑的问题是通过鼠标右键单击事件来调用一个函数,这个函数用来显示新的右键菜单的内容。我们知道鼠标的右键单击事件是通过document.oncontextmenu来调用的,如果我们自行定义document.oncontextmenu=某个函数,这样就可以实现新右键菜单的调用了,关键问题是如何通过这个函数来控制菜单的显示,同时,还要通过窗体的单击事件document.body.onclick(一般指左键单击)来隐藏菜单,这样一个过程就完成了鼠标右键菜单的弹出和隐藏。
首先来看看这段脚本代码:
/*初始化*/
<script language="JavaScript1.2">
/*如果当前浏览器是Internet Explorer,document.all就返回真*/
if (document.all && window.print) {
/*选择菜单方块的显示样式*/
ie5menu.className = menuskin;
/*重定向鼠标右键事件的处理过程为自定义程序showmenuie5*/
document.oncontextmenu = showmenuie5;
/*重定向鼠标左键事件的处理过程为自定义程序hidemenuie5*/
document.body.onclick = hidemenuie5;
}
</script>
一般情况下页面装载完毕后才发生鼠标右键事件,所以为了不影响页面的装载速度我们可以把这段代码放在页面的最后面。这段代码很简单,首先检验是不是IE浏览器,如果是那么下面的定义就应该有效。也就是说当检查到客户端使用的浏览器是IE的时候那么当用户产生右键事件时就调用函数showmenuie5,当用户产生左键事件时就调用函数hidemenuie5。
解决了上面这个问题,现在我们要考虑如何通过函数showmenuie5和函数hidemenuie5来实现菜单的显示和隐藏。当然,这里的菜单并不是真正意义的右键菜单,而是我们自己做的一个div,在这个div中装上我们想要装的东西。通过鼠标事件调用函数来控制它的显隐,这就达到了使用鼠标右键一样的效果了。
分享到:
相关推荐
一个简单的html文件,用于演示鼠标右键...使用原生JavaScript编写,可以区分鼠标左键单击,右键单击,滚轮单击事件,在右键时可以弹出一个提供选择的菜单,并且阻止鼠标原生的右键消息,在菜单外任意单击左键,菜单消失
Android4.0以上外接鼠标-左键单击-右键单击-捕获事件Demo; 网上没有这样的Demo,例子非常简单,节约下载者...并在Activity的ListView的单击事件里面,判断是否为鼠标右键单击事件,就可以区分出鼠标的左右单击事件了。
标题“能响应鼠标右键事件的ECharts2.2”涉及到的是ECharts 2.2版本的一个特性,即图表支持鼠标右键事件。ECharts是一个由百度开发的开源JavaScript图表库,它提供了丰富的可视化图表类型,如折线图、柱状图、饼图等...
"Visual Studio 2008 设置鼠标右键操作步骤" Visual Studio 2008 是一个功能强大且广泛使用的集成开发环境(IDE),它提供了许多实用的功能来提高开发效率和质量。其中,设置鼠标右键操作步骤是许多开发者需要了解...
MFC实现组合键响应和按钮左键右键单击响应 C+MFC里按钮只有单击和双击消息,要实现做简单几何...对话框的PreTranslateMessage里 实现 按钮的左键单击和右键单击事件; 也在里面实现回车键响应和Ctrl+enter组合键响应
在易语言中,右键单击事件通常需要通过监听鼠标消息来实现。当用户在超级列表框的表头区域右键点击时,程序需要捕获这一消息,然后调用相应子程序进行处理。 5. **表头事件处理**: 表头事件处理涉及窗口函数的...
对于鼠标右键事件,同样地,我们可以重写mouseReleaseEvent,但这次需要检查鼠标按钮是否为Qt::RightButton: ```cpp void ChartView::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { if (event->button()...
在Swing中实现鼠标右键功能,主要是通过`MouseListener`监听鼠标事件,特别是`mouseClicked`事件中的右键单击行为。同时,需要使用`JPopupMenu`来创建弹出式菜单,显示用户定义的菜单项。以下是根据提供的代码和描述...
这个"Delphi 模拟鼠标左键右键单击.rar"压缩包提供的源码正是为了实现这样的功能。Delphi 是一款强大的Windows应用程序开发工具,它基于Object Pascal语言,提供了丰富的组件库和API接口,使得开发者可以方便地进行...
本文将详细讲解如何实现超级列表框的右键单击表头事件,以及相关的编程技巧。 首先,我们需要理解易语言中的事件驱动编程模型。事件驱动编程是一种编程范式,它依赖于事件的发生来触发相应的处理函数。在易语言中,...
在这个“易语言超级列表框右键单击表头事件源码.7z”压缩包中,包含的源码是关于易语言中超级列表框组件的右键单击表头事件处理。这个事件在用户通过鼠标右键点击列表框的列标题时触发,通常用于实现列的排序、隐藏...
“右键设置”是软件的主要功能,即修改鼠标右键单击时的上下文菜单;“专家”可能表示这款软件在右键设置方面具有专业级的能力,提供了深度定制和高级选项;“软件”则明确了这是一个应用程序,用于安装和运行在用户...
百度搜藏可提供给您多种...今后,在您浏览任何网页时,单击鼠标右键,菜单将出现“添加到百度搜藏”选项。单击此选项,会弹出百度搜藏窗口,在“描述”和“分类”中输入相关内容,点击“添加搜藏”即可顺利完成添加。
当遇到“TortoiseSVN鼠标右键菜单不显示”的问题时,这通常是由于系统环境与TortoiseSVN的兼容性问题,或者是某些系统设置或软件冲突导致的。以下是一些可能的原因和解决方法: 1. **系统兼容性**:确保您的...
在JavaScript编程中,控制鼠标右键的事件处理是一项高级技巧,可以帮助开发者实现更丰富的交互功能。这个名为"js操纵鼠标右键源码"的资源,很可能是由一位经验丰富的JavaScript专家编写的,它提供了对浏览器默认右键...
Delphi 模拟按键,将虚拟键转换为扫描码,模拟鼠标右键和左键以及发送消息的功能,Shift和Ctrl都定义了特殊的功能,一个简单的键盘鼠标模拟程序,适合Delphi初学者。比如模拟点击鼠标左键,具体的代码编写为: ...
可选择鼠标左键右键自动单击,可设置N秒鼠标左键右键自动单击
在Qt中,可以使用`QObject::eventFilter`或`installEventFilter`来捕获并处理鼠标右键点击事件。首先,为`QListWidget`安装事件过滤器,然后在过滤器函数中检查事件类型。下面是一个基本的实现: ```cpp bool ...
运行后单击确定按钮,信息就会导入注册表,重启windows后鼠标右键就会被禁用,必须修改注册表才能解除。打开运行,输入regedit,打开注册表编辑器,找到[HKEY_CURRENT_USER\Software\Microsoft\Windows\Current...
不过,WPF的TreeView并没有提供右键单击选中的功能。我们需要自己去实现。 【思路】 最基本的思路是,在TreeView右键点击的事件发生时,我们遍历它所有的Item,包括子Item,获取Item所对应的TreeViewItem控件的...