Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2014, 20:29
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

Является ли объект DOM объектом
Пишу я функцию.
Функция принимает в параметре DOM элемент.
В процессе работы функция может имитировать клик по переданному элементу.
function foo(elem){
    elem.click();
    // or
    elem.submit()
}

Это будет модуль ajax проверки авторизации перед действием, но суть не в этом.
Нужно в функции сразу проверить, является переданный параметр DOM элементом. Ну и в разумных пределах отфильтровать, так как head и body тоже имеют метод click.
var doc = document;
var head = document.head;
var body = document.body;
var div = document.getElementById("dv");

console.log("document");
console.log("nodeType: "+ doc.nodeType);
console.log("typeObject: "+ new Object().toString.call(doc));
console.log("click: "+ doc.click);
console.log("---");

console.log("head");
console.log("nodeType: "+ head.nodeType);
console.log("typeObject: "+ new Object().toString.call(head));
console.log("click: "+ head.click);
console.log("---");

console.log("body");
console.log("nodeType: "+ doc.nodeType);
console.log("typeObject: "+ new Object().toString.call(body));
console.log("click: "+ body.click);
console.log("---");

console.log("div");
console.log("nodeType: "+ doc.nodeType);
console.log("typeObject: "+ new Object().toString.call(div));
console.log("click: "+ div.click);

Код:
document
nodeType: 9
typeObject: [object HTMLDocument]
click: undefined
---
head
nodeType: 1
typeObject: [object HTMLHeadElement]
click: function click() {
    [native code]
}
---
body
nodeType: 9
typeObject: [object HTMLBodyElement]
click: function click() {
    [native code]
}
---
div
nodeType: 9
typeObject: [object HTMLDivElement]
click: function click() {
    [native code]
}
Ответить с цитированием