Вы можете использовать call
[MDN] :
function masterMethod(element, action){
action.call(element);
}
$(".item").click(function(){
function minorMethod(){
alert($(this));
}
masterMethod(this, minorMethod)
// or directly here?
// minorMethod.call(this)
});
Обратите внимание на два внесенных мной изменения: вместо прохождения$(this)
в masterMethod
, я передал this
(элемент DOM), поскольку внутри minorMethod
вы снова передаете this
в jQuery.Если бы вы передавали $(this)
, вы бы в конечном итоге снова передали бы объект jQuery в jQuery, то есть $($(this))
, что не нужно.
Я не уверен, действительно ли это вызовет ошибку, но прислучай, вы не должны называть свой аргумент this
.