我有:
$('p').fadeOut(300, function() { $(this).remove(); });
但为什么我不能做这些?:
$('p').fadeOut(300, $.fn.remove);
$('p').fadeOut(300, $().remove);
var p = $('p'); p.fadeOut(300, p.remove);
我有:
$('p').fadeOut(300, function() { $(this).remove(); });
但为什么我不能做这些?:
$('p').fadeOut(300, $.fn.remove);
$('p').fadeOut(300, $().remove);
var p = $('p'); p.fadeOut(300, p.remove);
$('p').fadeOut(300, $.fn.remove);
$.fn.remove
在没有上下文的情况下传递。$.proxy($.fn.remove, $("p"))
会在这里工作
$('p').fadeOut(300, $().remove);
在没有上下文的情况下通过。 $.proxy($().remove, $("p"))
会在这里工作
p.fadeOut(300, p.remove);
在没有上下文的情况下通过。$.proxy(p.remove, p)
会在这里工作
所以修复代码:
$('p').fadeOut(300, $.proxy($.fn.remove, $("p")));
$('p').fadeOut(300, $.proxy($().remove, $("p")));
var p = $('p'); p.fadeOut(300, $.proxy(p.remove, p));