[英]Using $(this) & event in named handler function
我有这个功能:
function showPost(event){
event.preventDefault();
$(this).parent('article').animate({width:'100%'}, 'slow');
}
我试图像这样使用它:
$('.article-header').click(function(event){showPost(event);});
当我以上述方式使用它时,event属性传递得很好,但是$(this)
在函数中不起作用。 如果我尝试this
作为参数包含在.click
方法中,则会返回一个错误,声称this
是未定义的。 我甚至设置var ths = $(this);
无济于事。
请问,这个功能发生的正确方法是什么?
只需直接使用该功能:
$('.article-header').click(showPost);
你失去了this
因为你正在调用“裸体”功能,没有对象接收器。 你也可以这样做(但不要因为这里没有意义):
$('.article-header').click(function(event) { showPost.call(this, event); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.