jQuery.proxy()
jQuery.proxy( function, context ) 返回: Function
描述: 接受一個函數(shù),然后返回一個新函數(shù),并且這個新函數(shù)始終保持了特定的上下文語境。
-
version added: 1.4jQuery.proxy( function, context )
function將要改變上下文語境的函數(shù)。
context函數(shù)的上下文語境(`this`)會被設置成這個 object 對象。
-
version added: 1.4jQuery.proxy( context, name )
context函數(shù)的上下文語境會被設置成這個 object 對象。
name將要改變上下文語境的函數(shù)名(這個函數(shù)必須是前一個參數(shù) 'context' 對象的屬性)
這個方法通常在向一個元素上附加事件處理函數(shù)時,上下文語境實際是指向另一個對象的情況下使用。另外,jQuery 能夠確保即使你綁定的函數(shù)是經(jīng)過 jQuery.proxy() 處理過的函數(shù),你依然可以用原先的函數(shù)來正確地取消綁定。
Example:
強制修改函數(shù)的上下文語境。
var obj = {
name: "John",
test: function() {
alert( this.name );
$("#test").unbind("click", obj.test);
}
};
$("#test").click( jQuery.proxy( obj, "test" ) );
// This also works:
// $("#test").click( jQuery.proxy( obj.test, obj ) );