在外部函数JQuery中使用$(this)
我希望使用$(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(); }); 在外部函数中使用$(
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);
});