Доступ к свойству элемента изнутри функции при вызове события - это - PullRequest
0 голосов
/ 02 сентября 2011

Так что мне интересно, если кто-нибудь знает, почему это так. Я объявляю функцию, а затем присваиваю ей значение свойства, как показано ниже. Я связываю функцию с событием щелчка на элементе. Событие click работает - оно вызывает функцию.

$settings.xClick = function(event){
    console.log($(this)); 
}
$settings.xClick.x = "test";

$("#xyz").bind("click", {}, $settings.xClick);

Проблема в том, что x не входит в область действия функции.

Предложения по правильному способу доступа к х, когда внутри функции?

1 Ответ

0 голосов
/ 02 сентября 2011

Вы присваиваете x как свойство $settings.xClick. Функция, как и любой другой объект, может иметь свойства.

Однако важно различать локальную область действия этой функции (при каждом вызове вещи, объявленные как var foo = ... внутри функции) и свойства функции. Чтобы получить доступ к x в функции xClick, вам нужно получить к ней доступ так:

$settings.xClick = function(event){
    console.log( $settings.xClick.x ); 
};
$settings.xClick.x = "test";
// ...
...