Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana Saya Boleh Memastikan Keserasian Pendengar Acara Merentas Pelayar, Terutamanya dalam Internet Explorer?

Bagaimana Saya Boleh Memastikan Keserasian Pendengar Acara Merentas Pelayar, Terutamanya dalam Internet Explorer?

Susan Sarandon
Susan Sarandonasal
2024-11-02 15:31:29979semak imbas

How Can I Ensure Cross-Browser Event Listener Compatibility, Especially in Internet Explorer?

addEventListener Keserasian dalam Internet Explorer

Menambah pengendali acara dengan addEventListener ialah kaedah DOM pilihan untuk kebanyakan penyemak imbas. Walau bagaimanapun, dalam Internet Explorer (sehingga versi 8), kaedah attachEvent digunakan sebaliknya.

Sokongan Internet Explorer 9

Internet Explorer 9 akhirnya menggunakan kaedah addEventListener, menyelaraskan dirinya dengan pelayar moden yang lain. Ini bermakna anda kini boleh menggunakan addEventListener dalam IE9 dan ke atas tanpa sebarang isu keserasian.

Keserasian Merentas Penyemak Imbas

Jika anda mahu menyokong kedua-dua versi lama dan lebih baharu Internet Explorer serta penyemak imbas lain, anda boleh menggunakan addEvent silang penyemak imbas berikut fungsi:

function addEvent(evnt, elem, func) {
   if (elem.addEventListener)  // W3C DOM
      elem.addEventListener(evnt,func,false);
   else if (elem.attachEvent) { // IE DOM
      elem.attachEvent("on"+evnt, func);
   }
   else { // No much to do
      elem["on"+evnt] = func;
   }
}

Fungsi ini menyemak sama ada elemen menyokong addEventListener, dan jika tidak, menggunakan attachEvent untuk keserasian IE. Jika tidak, ia akan kembali kepada tetapan pengendali acara secara langsung.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Memastikan Keserasian Pendengar Acara Merentas Pelayar, Terutamanya dalam Internet Explorer?. 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