首页  >  问答  >  正文

javascript - a.click()在火狐与谷歌中的区别

代码如下

<!-- test.html -->
<button>Click</button>
//test.js
var btn = document.querySelector('button')
btn.onclick = () => {
    var a = document.createElement('a')
    a.href = 'https://www.baidu.com'
    a.target = '_blank'
    a.click()
}

问题如下:

在火狐中点击按钮没有反应,在谷歌中点击按钮可以创建新的标签页;
test.js加上一条语句

var btn = document.querySelector('button')
btn.onclick = () => {
    var a = document.createElement('a')
    a.href = 'https://www.baidu.com'
    a.target = '_blank'
    
    document.body.appendChild(a)
    
    a.click()
}

改写后的代码都能在两个浏览器中正常运行。所以请问各位朋友这是什么原因,谢谢?

巴扎黑巴扎黑2663 天前823

全部回复(2)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-05 11:03:11

    楼主,你之前这不是刚创建好还没添加到页面中就要执行click事件?

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 11:03:11

    浏览器解析差异吧
    但是如果想点击按钮访问网页直接用window.open或者location.assign不就可以实现了 为啥要创建dom呢

    回复
    0
  • 取消回复