2010-07-27 16 views
9

Başka bir kullanıcının gizlediği öğelere olayları yaymak için JavaScript'te bir yol var mı? Çünkü position: absolute ile ana elemanlar olmayan elemanları engelleyen bir elementim var, ama tıklamak, mousemove ve mousout olaylarını bu elementten geçmek istiyorum. Çözüm, Mozilla Firefox'a özgü olabilir, çünkü bir Firefox Eklentisinde kullanacağım., fare olaylarını gizlenmiş öğelere yayıyor

cevap

17

Belki css özelliği pointer-events:none; Aradığınız ne olursa olsun. Örneğin twitter anasayfasında kullanılır, böylece "trend olan konular" da metnin üzerine tıklayıp grafikleri soluklaştırarak da üzerine tıklayabilirsiniz.

+0

Teşekkür ederim. Aradığım şey buydu. – panzi

1

Sayfadaki tüm öğeleri almak için getElementsByTagName ("*") kullanabilirsiniz. Bul-dünya konumu işlevini kullanarak, sayfanın sol üst köşesine göre bir öğenin konumunu alabilirsiniz. Şimdi imlecin öğenizin üzerinde olup olmadığını kontrol etmek için offsetWidth, offsetHeight ve fare konumunu [browser specific, lol] kullanabilirsiniz.

İmleci öğelerinizin üzerinde ise, olayı tetikleyin.

yukarıdaki fonksiyon window.onmousedown eklenmelidir/onmouseup/onmousemove/

+0

Evet, daha kolay ve hızlı bir şey olacağını umuyorum. Belki bir 'görünmez bir görüntü eşlemi '' (bu engelleyici öğe) önüne koyarak daha iyi olurdu. Hmmm. – panzi

+0

Orijinal olayı tarayıcıda nasıl atabiliyorsunuz ??? Örneğin, jQuery ile jQuery işleyicileri tetikleyebilirsiniz ... orijinal dom olayları değil – arty

İlgili konular