在外部函数JQuery中使用$(this)

在外部函数JQuery中使用$(this),jquery,Jquery,我希望使用$(this)将单击的元素作为目标,但是我需要将此代码放在如下函数中: function openQv(){ var lookImg = $(this).parent().find(".look-img").attr("src"); } $(document).on('click touchstart', '.hotspot', function(e){ e.preventDefault(); openQv(); }); 在外部函数中使用$(

我希望使用$(this)将单击的元素作为目标,但是我需要将此代码放在如下函数中:

function openQv(){
      var  lookImg = $(this).parent().find(".look-img").attr("src");
}

$(document).on('click touchstart', '.hotspot', function(e){
      e.preventDefault(); 
      openQv();
});

在外部函数中使用
$(this)
似乎不起作用,有什么方法可以做到这一点吗?

引用该函数,它可以开箱即用

function openQv(e){
    e.preventDefault(); 
    var  lookImg = $(this).parent().find(".look-img").attr("src");
}

$(document).on('click touchstart', '.hotspot', openQv);
或者您可以使用
call
apply
bind
设置
this

$(document).on('click touchstart', '.hotspot', function(e){
      e.preventDefault(); 
      openQv.call(this);
});

参考该函数,它可以开箱即用

function openQv(e){
    e.preventDefault(); 
    var  lookImg = $(this).parent().find(".look-img").attr("src");
}

$(document).on('click touchstart', '.hotspot', openQv);
或者您可以使用
call
apply
bind
设置
this

$(document).on('click touchstart', '.hotspot', function(e){
      e.preventDefault(); 
      openQv.call(this);
});