在类似jQuery的Javascript对象中启用链接能力
我有一个关于可链接性的问题,请看以下代码:在类似jQuery的Javascript对象中启用链接能力,javascript,Javascript,我有一个关于可链接性的问题,请看以下代码: document.getElementById('menu').fadeIn(200, function(){ //callback }); 没有jQuery我怎么能做到这一点 注意:例如,名称fadeIn()和fadeOut()没有jQuery函数 “方法链接是调用多个方法的常用技术 在面向对象编程语言中调用。每个方法都返回一个 对象(可能是当前对象本身),允许调用 在单个语句中链接在一起。方法链也是 被称为火车失事是由于越来越多的方法堆积 一行接
document.getElementById('menu').fadeIn(200, function(){ //callback });
没有jQuery我怎么能做到这一点
注意:例如,名称fadeIn()和fadeOut()没有jQuery函数
“方法链接是调用多个方法的常用技术
在面向对象编程语言中调用。每个方法都返回一个
对象(可能是当前对象本身),允许调用
在单个语句中链接在一起。方法链也是
被称为火车失事是由于越来越多的方法堆积
一行接一行。”
资料来源:
您必须实现自己的(简化或扩展的)机制,就像jQuery那样。另一种方法是使用DOM扩展,比如原型库。我不想创建对象。我想为document.getElementById创建一个新方法。我在这里读过类似的内容,但我无法将该方法“附加”到对象。感谢您的回复。我了解回拨管理
//Create an object which contains functions
var obj={
alert : function(txt){
alert(txt);
return this //return itself
},
confirm :function(txt){
confirm(txt);
return this //return itself
}
}
//Now you can chain as much as you want
obj.alert("This").alert("is").confirm("called").alert("chaining.");
var chainable ={
doSomething : function(input, callback){
//do something with the input
var output = input;
if (callback && typeof(callback) === "function") {
callback(output);
}
return this;
}
}
chainable.doSomething('test', function(data) {
alert(data);
})
.doSomething('anotherString');