Javascript 使用$(this)&;命名处理程序函数中的事件
我有这个功能:Javascript 使用$(this)&;命名处理程序函数中的事件,javascript,jquery,Javascript,Jquery,我有这个功能: function showPost(event){ event.preventDefault(); $(this).parent('article').animate({width:'100%'}, 'slow'); } 我正试图这样使用它: $('.article-header').click(function(event){showPost(event);}); 当我以上述方式使用它时,事件属性的传递很好,但是$(this)在函数中不起作用。如果我试图将此作为参数
function showPost(event){
event.preventDefault();
$(this).parent('article').animate({width:'100%'}, 'slow');
}
我正试图这样使用它:
$('.article-header').click(function(event){showPost(event);});
当我以上述方式使用它时,事件属性的传递很好,但是$(this)
在函数中不起作用。如果我试图将此
作为参数包含在中。单击方法,它将返回一个错误,声明此
未定义。我甚至设置了varths=$(这个)代码>无效
请问,实现此功能的正确方法是什么?直接使用此功能即可:
$('.article-header').click(showPost);
您正在丢失此
,因为您正在调用函数“裸”,而没有对象接收器。您也可以这样做(但不要这样做,因为这里没有意义):
直接使用该功能即可:
$('.article-header').click(showPost);
您正在丢失此
,因为您正在调用函数“裸”,而没有对象接收器。您也可以这样做(但不要这样做,因为这里没有意义):
事件是自动传递的。事件是自动传递的。非常感谢。我尝试过这个,但错误地将showPost(event)
更改为showPost()
。我真的不该犯这样的错误。非常感谢。我尝试过这个,但错误地将showPost(event)
更改为showPost()
。我真的不该犯这样的错误。