documentVe windowfarklı nesnelerdir ve bunlar bazı farklı etkinlik. addEventListener()Onları kullanmak farklı bir nesne için hedeflenen olayları dinler. İlgilendiğiniz etkinliğe gerçekten sahip olanı kullanmalısınız.
Örneğin "resize", windownesne üzerinde, nesne üzerinde olmayan bir olay vardır document.
Örneğin, "DOMContentLoaded"olay yalnızca documentnesnenin üzerindedir.
Temel olarak, ilgilendiğiniz olayı hangi nesnenin aldığını bilmeniz ve .addEventListener()o nesne üzerinde kullanmanız gerekir .
Hangi nesne türlerinin hangi olay türlerini oluşturduğunu gösteren ilginç bir grafik: https://developer.mozilla.org/en-US/docs/DOM/DOM_event_reference
Yayılan bir etkinliği (click olayı gibi) dinliyorsanız, o olayı belge nesnesinde veya pencere nesnesinde dinleyebilirsiniz. Yayılan olaylar için tek temel fark zamanlamadır. Olay , hiyerarşide ilk gerçekleştiği için documentnesneden önce windownesneye çarpar, ancak bu fark genellikle önemsizdir, böylece ikisini de seçebilirsiniz. Çoğaltılmış olayları işlerken ihtiyaçlarınızı karşılayan olayın kaynağına en yakın nesneyi seçmek genellikle daha iyi olur. Yani almak öneririm documentüzerinde windowde işe ne zaman. Ancak, genellikle kaynağa daha da yaklaşırım ve document.bodyhatta belgedeki ortak bir ebeveyni (mümkünse) kullanırdım.