右键菜单识别

dongshanyu 2015-03-13 04:44:30
有一<a>标签,若直接鼠标左键点击,可在当前窗口进入目标页面A;右键弹出系统菜单,选择在新窗口或新标签中打开,则弹出一个新窗口或新标签来打开页面B,这效果是否可以实现?
...全文
262 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongshanyu 2015-03-25
  • 打赏
  • 举报
回复
了解,看样子目前只能到这个程度了。
天际的海浪 2015-03-24
  • 打赏
  • 举报
回复
别的要求都好办,就是在右键弹出菜单后选择在新窗口或新标签中打开B页面前还要执行javascript代码没办法做到
天际的海浪 2015-03-24
  • 打赏
  • 举报
回复
引用 4 楼 dongshanyu 的回复:
> jslang 浏览器为IE8 方法一:因显示B页面前要用到javascript,故代码如下: <a href="javascirpt:test('b.html');" onclick='if(event.button!=2) this.href=a.html'>abc</a> 测试结果如下: 左键单击:URL栏显示 javascirpt:test('a.thml'); 提示:The webpage cannot be displayed, 右键弹出菜单后选择"在新窗口打开"或"新标签中打开":弹出画面或标签显示同上,且当前窗口显示到A页面 Shift+左键或Ctrl+左键:效果同右键菜单 是否是我使用有问题? 方法二:补充了针对Shift+左键或Ctrl+左键的onmousedown事件处理 左键单击:当前窗口显示A页面 右键弹出菜单后选择"在新窗口打开"或"新标签中打开":B页面在弹出右键菜单时就显示了 Shift+左键或Ctrl+左键:判断为event为Shift+左键或Ctrl+左键,若是,显示B页面 方法二接近我要的效果,不过右键触发时机不对,希望在右键弹出菜单后选择"在新窗口打开"或"新标签中打开"才显示B页面
<a href="javascirpt:test('b.html');" onclick='if(event.button!=2) this.href="a.html"'>abc</a>
dongshanyu 2015-03-24
  • 打赏
  • 举报
回复
> showbo : > oncontextmenu事件阻止系统的右键菜单,显示自己的菜单。不过新窗口还是标签页打开要看用户浏览器的配置,这个控制不了 现在使用自定义的菜单,但的确如你所说,其打开方式由IE设置决定的,暂时没有找到控制方法。
dongshanyu 2015-03-16
  • 打赏
  • 举报
回复
> showbo & pfczlc 不是为了阻止系统的右键菜单,显示自己的菜单,只是想实现如下效果: 左键点击:在当前窗口进入目标页面A 右键弹出菜单后选择"在新窗口打开"或"新标签中打开":弹出一个新窗口或新标签来打开页面B Shift+左键/Ctrl+左键:弹出一个新窗口或新标签来打开页面B
dongshanyu 2015-03-16
  • 打赏
  • 举报
回复
> jslang 浏览器为IE8 方法一:因显示B页面前要用到javascript,故代码如下: <a href="javascirpt:test('b.html');" onclick='if(event.button!=2) this.href=a.html'>abc</a> 测试结果如下: 左键单击:URL栏显示 javascirpt:test('a.thml'); 提示:The webpage cannot be displayed, 右键弹出菜单后选择"在新窗口打开"或"新标签中打开":弹出画面或标签显示同上,且当前窗口显示到A页面 Shift+左键或Ctrl+左键:效果同右键菜单 是否是我使用有问题? 方法二:补充了针对Shift+左键或Ctrl+左键的onmousedown事件处理 左键单击:当前窗口显示A页面 右键弹出菜单后选择"在新窗口打开"或"新标签中打开":B页面在弹出右键菜单时就显示了 Shift+左键或Ctrl+左键:判断为event为Shift+左键或Ctrl+左键,若是,显示B页面 方法二接近我要的效果,不过右键触发时机不对,希望在右键弹出菜单后选择"在新窗口打开"或"新标签中打开"才显示B页面
天际的海浪 2015-03-14
  • 打赏
  • 举报
回复
方法一: <a href="b.html" onclick="if(event.button!=2) this.href='a.html';">abc</a> 方法二: <a href="a.html" oncontextmenu="this.href='b.html';">abc</a>
forrg 2015-03-14
  • 打赏
  • 举报
回复
这个不是本身就有的么?
Go 旅城通票 2015-03-14
  • 打赏
  • 举报
回复
oncontextmenu事件阻止系统的右键菜单,显示自己的菜单。不过新窗口还是标签页打开要看用户浏览器的配置,这个控制不了 新窗口打开用window.open,指定width和height就行,但是如果用户配置了都在标签页中打开就没办法了
<a href="http://bbs.csdn.net">csdn,系统菜单</a><br/>
<a href="http://bbs.csdn.net" oncontextmenu="return popMenu()">csdn,自定义菜单</a>
<div id="m" style="position:absolute;left:0px;top:50px;display:none">
<a href="#" onclick="window.open('http://bbs.csdn.net','_blank','width=800,height=500');return false;">新窗口打开</a><br/>
<a href="http://bbs.csdn.net" target="_blank">标签页打开</a>
</div>
<script>
function popMenu(e){
document.getElementById('m').style.display='block';

return false;
}
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧