Пишу я функцию.
Функция принимает в параметре 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]
} |