[Функция] jQuery.proxy(function,scope)
Раздел "Events"
Возвращает данные, которые всегда находятся в области видимости функции.
Параметры
jQuery.proxy(function,scope)
1.4
function: функция, в области видимости которой, будут изменены значения.
scope: объект, находящийся в области видимости функции, значение которого подлежит установке.
jQuery.proxy(scope, name)
1.4
scope:
объект, находящийся в области видимости функции, значение которого подлежит установке
name:
объект, находящийся в области видимости функции, значение которого подлежит установке
Описание
Данный метод наиболее полезен в случае прикрепления обработчиков событий к элементу, когда область видимости принадлежит другому объекту.
Примеры
Пример:
Отобразить тип клавиши:
"jQuery"
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 ) );
"HTML"
<div id="test" style="width:100px;height:100px;"></div>
"CSS"
#test{ background-color:green; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> <script> $(document).ready(function(){ 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 ) ); }); </script> </head> <body class="iframe"> <div id="test" style="width:100px;height:100px;"></div> </body> </html> <style> #test{ background-color:green; } </style>
Версия jQuery 1.4.2
Документ создан 2010-08-21