Thursday, October 11, 2007

Up Function (revise)

จาก Post ก่อน Link
ด้วยความรีบร้อน มุ่งแต่ function เลยไม่ได้สนใจ form
ให้ดีแล้วแล้วควรจะเขียนแบบนี้
ดูเป็นกลุ่มก้อนกว่า
dojo.provide("orangegears.dom.Util");

orangegears.dom.Util = {

up: function(node, expression) {
var ancestors = this.ancestors(node);
for (var i = 0; i < ancestors.length; i++) {
var tmp = dojo.query(expression, ancestors[i]);
if (tmp.length > 0) {
return tmp[0];
}
}
return [];
},

ancestors: function(node) {
return this.recursivelyCollect(node, "parentNode");
},

recursivelyCollect: function(element, property) {
var elements = [];
while (element = element[property])
if (element.nodeType == 1)
elements.push(element);
return elements;
}

}

Related link from Roti

1 comment:

Sand said...

ถามเรื่อง dojo นิดหนึ่งครับพี่ถ้าผมจะให้ dojo ไปดึงข้อมูลจาก server ทุกๆ 30 วินาทีทำได้หรือเปล่าครับ