JavaScript-javascript链接,右键点击之后,如何使“新窗口打开”选项可用?
我很慎重的查找了相关内容,是没有找到解决的办法。
我要实现一个功能,点击链接运行一段js代码。而右键单击这条连接的时候可以右键选择在新窗口中打开,当然,直接点击的话还是直接在本窗口中打开。
如下:
<form id="tr1" method="post" action="<%=basePath%>action/tcs-server!clickTcsServerMethod.action">
<tr>
<td><a href="javascript:formSubmit('tr1')">Tcs Server 1 </a></td>
</tr>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
楼上理解错误,楼主的意思好像是点击右键时把弹出的菜单窗口中的“新打开窗口”屏蔽掉!javascript好像无权直接干掉浏览器本身的东西!只能间接实现,提供2个方法
第一是屏蔽右键事件,下面给个例子代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
var clickmessage="禁止右键打开新窗口! ";
function disableclick(e) {
if (document.all) {
if (event.button==2||event.button==3) {
if (event.srcElement.tagName=="A"){
alert(clickmessage);
return false;
}
}
}
else if (document.layers) {
if (e.which == 3) {
alert(clickmessage);
return false;
}
}
else if (document.getElementById){
if (e.which==3&&e.target.tagName=="A"){
alert(clickmessage);
return false;
}
}
}
function associatelinks(){
for(i=0;i<document.links.length;i++)
document.links[i].onmousedown=disableclick;
}
if (document.all)
document.onmousedown=disableclick
else if (document.getElementById)
document.onmouseup=disableclick
else if (document.layers)
associatelinks();
function formSubmit(obj) {
document.getElementById(obj).submit();
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<form id="tr1" method="post" action="">
<tr>
<td><a href="javascript:formSubmit('tr1');">Tcs Server 1 </a></td>
</tr>
</BODY>
</HTML>
上面是把右键事件屏蔽掉了,如果楼主无法忍受这种办法,那还有另一个办法就是模拟浏览器右键弹出菜单窗口,这个不给代码,给个jquery插件实现的文档,自己去研究一下:
jQuery ContextMenu Plugin
右键选择有点难实现,可以加两个按钮,一个是本地打开,一个是新窗口打开。在新窗口打开的按钮上加上form.target = "_blank";的代码就行了。注意DOCTYPE设置为Strict的页面会失效。
HTML5下面还可以直接设置formtarget属性来重写target设置:
<form action="sompage">
<div><button type="submit">本页提交</button></div>
<div><button type="submit" formtarget="_blank">新页面提交</button></div>
</form>