Javascript jQuery:“此”属性不适用于$(文档)单击

Javascript jQuery:“此”属性不适用于$(文档)单击,javascript,jquery,Javascript,Jquery,我想更改我单击的图像src。我用这个试过了。原因是我使用$document作为单击功能。我使用的代码如下所示。它将在不使用此属性的情况下更改。但我需要用这个属性来处理它 $document.on('click', 'img.flagImg', function () { _flag(); }) var _flag = (function(){ $(this).attr('src',"images/flag.jpg") })

我想更改我单击的图像src。我用这个试过了。原因是我使用$document作为单击功能。我使用的代码如下所示。它将在不使用此属性的情况下更改。但我需要用这个属性来处理它

$document.on('click', 'img.flagImg', function () {
           _flag();
         })
 var _flag = (function(){
         $(this).attr('src',"images/flag.jpg") 
     })

但它并没有变好。任何人都可以建议另一种方法来获得一个好的解决方案。

当您调用这样的函数时,\u flag,它在松散模式下设置为全局对象,在严格模式下设置为未定义

只需让jQuery为您设置:

但如果希望避免jQuery将事件参数传递给它,则可以使用显式设置:

$document.on('click', 'img.flagImg', function() {
    _flag.call(this);
});

这必须有一个dupetarget…像这个$document一样使用event.target。在'click','img.flagImg',function e{var_this=e.target;$_this.attr'src',images/flag.jpg}@Pugazh中,事件处理程序和e.target之间有一个微妙但重要的区别。这对应于e.currentTarget.@T.J.Crowder:谢谢你提供的信息。
$document.on('click', 'img.flagImg', function() {
    _flag.call(this);
});