Kod adalah seperti berikut
<!-- 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()
}
Soalannya adalah seperti berikut:
Tiada respons apabila mengklik butang dalam Firefox, tetapi mengklik butang dalam Google boleh membuat halaman tab baharu
Tambah ayat test.js
dalam
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()
}
Kod yang ditulis semula boleh berjalan seperti biasa dalam kedua-dua penyemak imbas. Jadi saya ingin bertanya kepada rakan-rakan saya apa sebabnya ini, terima kasih?
Pemilik, bukankah anda melaksanakan acara klik selepas anda menciptanya sebelum menambahkannya pada halaman?
Pelayar akan menghuraikan perbezaannya
Tetapi jika anda ingin mengklik butang untuk mengakses halaman web, anda hanya boleh menggunakan window.open atau location.assign Mengapa anda perlu membuat dom?