Чи підтримує браузер подію

Публікації

Для перевірки чи підтримується подія достатньо скористатися оператором in

if('onerror' in window) alert('браузер підтримує подію onerror у window'); else alert('браузер НЕ підтримує подію onerror у window');

Функція для перевірки чи підтримує вказаний об'єкт подію:

function isEventObject(obj, eventName){ eventName=eventName.toString().toLowerCase(); if(eventName.substr(0,2)!='on') eventName='on'+eventName; return (eventName in obj); } alert( isEventObject(window, 'onerror') );

Перевірка чи підтримує елемент подію за допомогою in не завжди дає вірний результат. Для більш вірного результату краще перевіряти додавши атрибут до елементу методом Element.setAttribute(). Якщо тип атрибуту є функція тоді елемент підтримує подію.

Функція яка перевіряє чи підтримує браузер вказану подію в елементах:

function isEventSupported(eventName){ var tag_name={ 'onselect':'input', 'onchange':'input', 'onsubmit':'form', 'onreset':'form', 'onerror':'img', 'onload':'img', 'onabort':'img'}; eventName=eventName.toString().toLowerCase(); if(eventName.substr(0,2)!='on') eventName='on'+eventName; var el = document.createElement(tag_name[eventName] || 'div'); var isSupported = (eventName in el); if (!isSupported) { el.setAttribute(eventName, 'return;'); isSupported = typeof el[eventName] == 'function'; } return isSupported; } var res=isEventSupported('onload'); alert( res );

Функція яка перевіряє чи підтримує браузер вказану подію у вказаному елементі:

function isEventSupported(el, eventName){ eventName=eventName.toString().toLowerCase(); if(eventName.substr(0,2)!='on') eventName='on'+eventName; var isSupported = (eventName in el); if (!isSupported) { el.setAttribute(eventName, 'return;'); isSupported = typeof el[eventName] == 'function'; } return isSupported; } var res=isEventSupported(document.body, 'onload'); alert( res );
Адмін 2020-01-28 23:43:36

Тільки зареєстровані користувачі можуть писати коментарі.