Javascript 为什么bind()不能使用jQuery“query”作为处理程序?

Javascript 为什么bind()不能使用jQuery“query”作为处理程序?,javascript,jquery,Javascript,Jquery,我正在学习JS,我想知道-为什么这是无效的 $(function(){ $('#mydiv').bind('click', $('#myanotherdiv').remove); }); 第二个参数应该是事件的处理程序 $('#mydiv').bind('click', function() { $('#myanotherdiv').remove() });\ remove是一个方法而不是属性 所以应该写为.remove我知道,将它封装在函数中可以使它工作,但为什么它在原始变量中不工作-$

我正在学习JS,我想知道-为什么这是无效的

$(function(){
$('#mydiv').bind('click', $('#myanotherdiv').remove);

});
第二个参数应该是事件的处理程序

$('#mydiv').bind('click', function() { $('#myanotherdiv').remove() });\
remove是一个方法而不是属性


所以应该写为.remove

我知道,将它封装在函数中可以使它工作,但为什么它在原始变量中不工作-$..remove-是一个函数,对吗?而且.remove是一个方法而不是一个属性。。。它是一个引用方法的属性,因此OP正在传递一个处理程序作为第二个参数。@squint。。我没意识到!!您正在传递.remove方法。调用时,它的此值将是一个DOM元素,而该方法希望它是一个jQuery对象。请尝试:$'mydiv'。bind$.proxy$'myanotherdiv',remove
$('#mydiv').bind('click', function() { $('#myanotherdiv').remove() });\