use*_*729 0 javascript jquery scope
代码段如下:
$(this).parents('td:first').next().find('option').customizeMenu('myMenu2');
Run Code Online (Sandbox Code Playgroud)
这有效,但是:
var listener = function(){
$(this).parents('td:first').next().find('option').customizeMenu('myMenu2');
};
listener();
Run Code Online (Sandbox Code Playgroud)
不工作,为什么以及如何解决它?
放入函数时,'this'不指向同一个对象,它指向当前函数(在您的情况下为'listener').如果这是一个选项(取决于您如何调用您的函数),请将其作为参数.
var listener = function(obj){
$(obj).parents('td:first').next().find('option').customizeMenu('myMenu2');
};
listener(this);
Run Code Online (Sandbox Code Playgroud)