2011-10-05 12 views
8

Ben developer.mozilla.org de dokümanlar ve Apple dev docs aradım ama belirli bir HTML etiketi belirli bir EventListener destekleyip desteklemediğini programlama yoluyla belirleyebilir olup olmadığını açıklar belgeleri bulmak mümkün değilim.Bir HTML nesnesinin hangi olayları dinleyeceğini program aracılığıyla nasıl belirlersiniz?

Ben <script> etiketi tıklayın şey yok çünkü tıklama işleyicisi desteklemeye gitmiyor biliyorum, ama bunu nasıl anlarım gibi mi?

Ya da engelleme, kolay bir referans yerde her etiket desteklediği olayların var mı? Birkaç kenar vakalarının

cevap

5

dışında, evet sen Perfection Kills göre yapabilirsiniz:

hüner birçok modern tarayıcılarda bir elemanda mevcut olarak bir olay adına karşılık gelen özellik rapor olmasıdır. Çeşitli tarayıcılarda olayı desteğini algılamak için kullanır

'onclick' in document.documentElement; // true 
'onclick2' in document.documentElement; // false 

, ama aynı zamanda bir eleman bir olayı destekler olup olmadığını tespit etmek için kullanılabilir:

Temelde, kod şöyle görünür

bir olay aslında bu olay çıkabileceği bir elemanda kontrol edilmelidir. Böyle

yüzden de almak sonuçları:

'onreset' in document.documentElement; // false 
'onreset' in document.createElement('input'); // true 
+1

Belki bu document.createElement içinde ' 'onclick' beri *, istediğiniz tam olarak ne * ('komut') yapmayacağım' true döndürür. block' ve diğer CSS sihirli, sen * * it a tık dinleyici verebilir: Ama bu sadece bir '

0

i this

okumak için söyleyecektir ... ve düşünmek gerekir iyi şey olayları sadece DOM nesneleri olmasıdır. Ardından DOM'daki tüm nesneler etkinliklere sahip olabilir (Ancak listeyi okuyun).

İlgili konular