我正在对一个php文件进行jQuery.post
,文件返回给我一个值。
问题是:为什么$(this)
剂量在回调函数中起作用?
使用$(this)
传递要显示的内容的任何提醒,返回给我null
$(".class").live("focusout", function(){
jQuery.post("phpfile.php",
{
someValue: someValue
},
function(data)
{
// why the $(this) dosent work in the callback ?
}
)
});
答案 0 :(得分:13)
在这种情况下,this
不再是同一个对象。之前保存参考并稍后使用:
$(".class").live("focusout", function(){
var $this = $(this);
jQuery.post("phpfile.php",
{
someValue: someValue
},
function(data)
{
// 'this' inside this scope refers to xhr object (wrapped in jQuery object)
var x = $this;
}
)
});
答案 1 :(得分:2)
$(".class").live("focusout", function(){
var this = $(this);
jQuery.post("phpfile.php",{
someValue: someValue
},function(data){
// Now use this instead of $(this), like this.hide() or whatever.
})
});
你的例子中的$(this)指的是我想的$ .post。