所以我想知道是否有人知道为什么会这样。我声明一个函数,然后给它一个属性值,如下所示。我将函数绑定到元素上的单击事件。 click事件有效 - 它调用函数。
$settings.xClick = function(event){
console.log($(this));
}
$settings.xClick.x = "test";
$("#xyz").bind("click", {}, $settings.xClick);
x似乎不在函数范围内的问题。
关于在函数内部访问x的正确方法的建议?
答案 0 :(得分:0)
您将x
指定为$settings.xClick
的媒体资源。与任何其他对象一样,函数可以具有属性。
重要的是区分该函数的局部范围(每次调用时,函数中声明为var foo = ...
的东西)和函数的属性。要在函数x
中访问xClick
,您必须按如下方式访问它:
$settings.xClick = function(event){
console.log( $settings.xClick.x );
};
$settings.xClick.x = "test";
// ...