Показать сообщение отдельно
  #10 (permalink)  
Старый 25.03.2014, 06:23
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Hapson
функция должна удостовериться, что ей передали действительно DOM элемент, к которому применим click или submit
проверяй инстанс EventTarget
function isEventTarget(obj) {
	return Object(obj) === obj && obj instanceof EventTarget;
}
на этом бы и остановились, если бы не IE, даже в 11 нет EventTarget, поэтому перечислим конструкторы объектов, имеющих события
//IE8+
function isEventTarget(obj) {
	return Object(obj) === obj && [
		obj instanceof (window.EventTarget || function () {}),
		obj instanceof (window.HTMLElement || window.Element),
		obj instanceof HTMLDocument,
		obj instanceof Window,
		obj instanceof XMLHttpRequest
	].indexOf(true) != -1;
}
ну и по желанию можно дописать всякие Comment, Text и др., чтобы сравнять результаты во всех браузерах

Последний раз редактировалось Octane, 25.03.2014 в 06:34.
Ответить с цитированием