javascript 触发A标签弹出窗口的问题

ymgxc049 2011-08-17 11:20:26
最近做项目,遇到这样一个需求.
主体要用jquery实现.不能用创建浮动层的方式来解决.

当用confirm询问用户选择操作后,弹出一个新的窗口.
弹窗口大家都知道,open就可以了,但是局限很大,一般现在的浏览器不让弹的.

于是想到使用A标签来实现,就是先创建一个A标签,将URL地址放进去,但接下来如何触发那个事件,却一直没换到答案.
创建form使用submit也试过了,但也会被拦截.

那位兄台见过或用过此类方法,给个参考....谢谢
(如何触发A标签的地址喃????不解中...)
...全文
2409 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuchao16310 2011-08-17
  • 打赏
  • 举报
回复
建议用click()事件
北京不不 2011-08-17
  • 打赏
  • 举报
回复
firefox 下可以模拟a的click()事件,可以搜搜。
ymgxc049 2011-08-17
  • 打赏
  • 举报
回复
过是已经过去了,能用其它方式实现.但是几次遇到这个问题,都无法很好的解决,所以才发此贴.
潮起潮落 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ymgxc049 的回复:]

感谢楼上的同志们.
不是不想模拟一个confirm解决问题,而是遇到这个问题,想解决掉,要不然一直挂在心头不安逸.
况且confirm的状态是不能完全模拟的,比如说整个窗体(浏览器)的不可触发状态.

jquery 执行a.click(),其内函数可以尽数执行,但不会触发href地址跳转


求解中....
[/Quote]
解决什么,不是把墙撞烂,可以找梯子过去。
整个浏览器不可触发一样可以模拟,用一个层遮罩起来并且取消滚动条,一般的操作都可以屏蔽掉。
而且“整个浏览器不可触发”这个需求是否是必须呢?
北京不不 2011-08-17
  • 打赏
  • 举报
回复


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language='javascript'>
function opens(url){
var oA = document.createElement('a');
oA.href = url;
oA.target = '_blank';
document.body.appendChild(oA);
oA.click();
}
</script>
<body>
<input type="button" value="open" onclick="opens('http://www.baidu.com');" />
</body>
</html>


hch126163 2011-08-17
  • 打赏
  • 举报
回复
a 标签的 click 在ff 下触发了,也不会跳转页面!
用div 模拟confirm! 按钮直接加 连接
001007009 2011-08-17
  • 打赏
  • 举报
回复

<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html>


怎么贴了两次。
ymgxc049 2011-08-17
  • 打赏
  • 举报
回复
感谢楼上的同志们.
不是不想模拟一个confirm解决问题,而是遇到这个问题,想解决掉,要不然一直挂在心头不安逸.
况且confirm的状态是不能完全模拟的,比如说整个窗体(浏览器)的不可触发状态.

jquery 执行a.click(),其内函数可以尽数执行,但不会触发href地址跳转


求解中....
001007009 2011-08-17
  • 打赏
  • 举报
回复

<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html><!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title>Test</title>
<style>
</style>
<script>
function $(o){return document.getElementById(o)}
window.onload = function(){
$('test').onclick = function(){
window.open('http://baidu.com')
}
$('test').click()
}
</script>
</head>
<body>
<input type="button" id="test" style="display:none;" />
</body>
</html>


这样在ie下没问题,ff一样会屏蔽
MuBeiBei 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 ymgxc049 的回复:]
最近做项目,遇到这样一个需求.
主体要用jquery实现.不能用创建浮动层的方式来解决.

当用confirm询问用户选择操作后,弹出一个新的窗口.
弹窗口大家都知道,open就可以了,但是局限很大,一般现在的浏览器不让弹的.

于是想到使用A标签来实现,就是先创建一个A标签,将URL地址放进去,但接下来如何触发那个事件,却一直没换到答案.
创建form使用submit也试过了,但也……
[/Quote]

a标签如果不是用户点击的话,貌似也会阻止。

楼主可以试试~·a.click()这样

但是这样只有IE支持~·FF别的浏览器没有click事件~·
潮起潮落 2011-08-17
  • 打赏
  • 举报
回复
你可以模拟一个confirm,确定按钮实际上做成一个<a href="" target="_blank"></a>
然后让用户点,他一点确定,自动就新打开了一个窗口
001007009 2011-08-17
  • 打赏
  • 举报
回复
曾经也遇到过这个问题,直接open会被某些浏览器屏蔽,之后想到 模拟用户点击并open,也不行,后来就没研究了。

围观下。

87,910

社区成员

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

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