Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengendalikan Acara onLoad untuk Windows Dibuka dengan window.open?

Bagaimana untuk Mengendalikan Acara onLoad untuk Windows Dibuka dengan window.open?

DDD
DDDasal
2024-10-24 14:40:02523semak imbas

How to Handle onLoad Event for Windows Opened with window.open?

Mengendalikan Acara onLoad untuk Windows Dibuka dengan window.open

Apabila menggunakan window.open untuk mencipta tetingkap baharu, pendengar acara onload mungkin gagal berfungsi untuk tetingkap yang baru dibuka. Artikel ini menangani isu ini dan menyediakan penyelesaian.

Kod berikut menunjukkan isu:

<code class="js">window.popup = window.open($(this).attr('href'), 'Ad', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
$(window.popup).onload = function() {
  alert("Popup has loaded a page");
};</code>

Kod ini tidak akan berfungsi dalam penyemak imbas utama seperti IE, Firefox dan Chrome. Untuk menyelesaikan isu ini, gunakan kaedah addEventListener sebaliknya:

<code class="js">var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);</code>

Jika anda perlu menyokong IE, anda boleh menggunakan kod sandaran berikut:

<code class="js">myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);</code>

Walaupun menyokong IE boleh menyusahkan , adalah penting untuk mempertimbangkan khalayak sasaran dan membuat kemudahan yang diperlukan jika perlu.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Acara onLoad untuk Windows Dibuka dengan window.open?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn