首页 新闻 搜索 专区 学院

回车事件中 弹出一个新窗口 被浏览器拦截 。 这个问题怎么破啊 ?

0
悬赏园豆:20 [已解决问题] 解决于 2015-07-22 22:30

在用表单提交的情况下,点击提交按钮,打开一个新窗口,浏览器是不会拦截的。

但是当过键盘事件提交表单时,打开一个新窗口时就会被浏览器阻止。

网上的各种方法都试过了  解决不了啊  求大神。

 

求大神,这个问题怎么破啊?。。。

老江湖的主页 老江湖 | 初学一级 | 园豆:104
提问于:2015-07-14 18:02
< >
分享
最佳答案
0
<form action="submit.aspx" target="_blank">
<input type="text" name="name" value="HW" />
<input type="submit" value="submit" />
</form>
收获园豆:20
I,Robot | 大侠五级 |园豆:9583 | 2015-07-14 19:37

这种方法我都试过了,如果是回车事件提交表单的情况下,照样还是被拦截的 。

老江湖 | 园豆:104 (初学一级) | 2015-07-15 09:51

@老江湖: 需要明确你的回车事件指的是什么内容,如果存在异步调用或setTimeout之类的,肯定是会被拦截的。

上面的代码我在IE/Opera/Chrome里都试过了,回车是可以正常弹出新页面的。

I,Robot | 园豆:9583 (大侠五级) | 2015-07-15 20:47
其他回答(2)
0

这是由于浏览器的安全机制限制的,当做广告拦截了。

可以定义一个隐藏的form,然后通过调用它的submit事件弹出新窗口就不会被拦截了:

<form id="form1" action="要弹出的URL" target="_blank" style="display:none;">
</form>

<script type="text/script">
  function openNew(url){
    $('#form1').attr('action', url).submit();
  }
</script>
liqipeng | 园豆:1160 (小虾三级) | 2015-07-14 20:30

这种方法我都试过了,如果是回车事件提交表单的情况下,照样还是被拦截的 。

支持(0) 反对(0) 老江湖 | 园豆:104 (初学一级) | 2015-07-15 09:51
0

创建一个按钮a,设置href属性,然后a.click(),注意:此方法不兼容IE9,IE9是个奇葩、、

幻天芒 | 园豆:36781 (高人七级) | 2015-07-15 13:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册