Javascript 在事件调用时从函数内部访问元素属性-此
所以我想知道是否有人知道为什么会这样。我声明了一个函数,然后给它一个属性值,如下所示。我将函数绑定到元素上的单击事件。click事件起作用-它调用函数Javascript 在事件调用时从函数内部访问元素属性-此,javascript,jquery,scope,this,Javascript,Jquery,Scope,This,所以我想知道是否有人知道为什么会这样。我声明了一个函数,然后给它一个属性值,如下所示。我将函数绑定到元素上的单击事件。click事件起作用-它调用函数 $settings.xClick = function(event){ console.log($(this)); } $settings.xClick.x = "test"; $("#xyz").bind("click", {}, $settings.xClick); 问题是x似乎不在函数范围内 关于在函数内部访问x的正确方法的建
$settings.xClick = function(event){
console.log($(this));
}
$settings.xClick.x = "test";
$("#xyz").bind("click", {}, $settings.xClick);
问题是x似乎不在函数范围内
关于在函数内部访问x的正确方法的建议 您正在将
x
指定为$settings.xClick
的属性。函数与任何其他对象一样,可以具有属性
不过,区分该函数的局部范围(在每次调用时,函数中声明的东西如var foo=…
)和函数的属性是很重要的。要访问函数xClick
中的x
,您必须像这样访问它:
$settings.xClick = function(event){
console.log( $settings.xClick.x );
};
$settings.xClick.x = "test";
// ...
这真的是了解上下文的唯一方法吗$设置.xClick.x?我试图给这个函数一些易于访问的数据和函数,供最终用户访问。它们提供事件,插件为它们设置一些默认设置和访问方法。