简体   繁体   English

在jQuery Extend中调用另一个方法

[英]call another method in jQuery Extend

var mymethod = {  
    init: function(options){  
    //initialize  
    //how to call buildhtml from here;
    },  
    buildhtml: function(){  
    //build inner html  
    },  
    sendrequest: function(){  
    //make ajax to send request  
    //can I call hoocrequest from here;
    },  
    hoocrequest: function(){  
    //hooc ajax return value  
    }  
};

How to call buildhtml or another from init or another ? 如何从init或另一个调用buildhtml或另一个?

var mymethod = {  
    init: function(options){
       this.buildhtml();
    },  
    buildhtml: function(){  
       alert('build');
    }
};

mymethod.init();

http://jsfiddle.net/xm5M8/ http://jsfiddle.net/xm5M8/

This method won't work if you're calling init from a different context. 如果要从其他上下文调用init ,则此方法将不起作用。 For example: 例如:

var fn = mymethod.init;
fn(); // type error

In such a case you need to either bind the context to the function reference: 在这种情况下,您需要将上下文绑定到函数引用:

var fn = mymethod.init.bind(mymethod);
fn(); // works now

Or provide the context when you call the function: 或在调用函数时提供上下文:

var fn = mymethod.init;
fn.call(mymethod); // works now

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM