Javascript jquery函数在未被调用的情况下运行

Javascript jquery函数在未被调用的情况下运行,javascript,jquery,Javascript,Jquery,我的基本设置如下: function overLink ( e ){ alert( e ); } $(document).ready(function() { $( "#id" ).mouseover( overLink( this ) ); }); 但是,在页面加载时调用“overLink”,而不是在“#id”悬停时调用。我读到这是因为我的函数声明中有(),但我不能删除它,因为我想向函数传递一个选择器。有什么想法吗 谢谢 当您像现在这样将此传递给函数时,您正在做的是实际调用函

我的基本设置如下:

function overLink ( e ){
    alert( e );
}
$(document).ready(function() {
    $( "#id" ).mouseover( overLink( this ) );
});
但是,在页面加载时调用“overLink”,而不是在“#id”悬停时调用。我读到这是因为我的函数声明中有(),但我不能删除它,因为我想向函数传递一个选择器。有什么想法吗


谢谢

当您像现在这样将此传递给函数时,您正在做的是实际调用函数。试试这个

$(document).ready(function() {
    $("#id").mouseover(function() {
      overLink(this);
    });
});

当你像你正在做的那样“传递”
这个
给函数时,你正在做的就是实际调用函数。试试这个

$(document).ready(function() {
    $("#id").mouseover(function() {
      overLink(this);
    });
});

这是因为您正在调用函数并将其结果返回给鼠标悬停侦听器。。。。 您应该传递函数引用。。。不是它的结果

   $( "#id" ).mouseover(overLink);

这是因为您正在调用函数并将其结果返回给鼠标悬停侦听器。。。。 您应该传递函数引用。。。不是它的结果

   $( "#id" ).mouseover(overLink);

这是调用函数的正确方法:-

function overLink (e){
    alert(e);
}
$(document).ready(function() {
    $( "#id" ).mouseover(function() {
     overLink( this );
    });
});
$(document).ready(function(){
  $("#id").mouseover(function(){
    overLink(this);
  });
});

这是调用函数的正确方法:-

function overLink (e){
    alert(e);
}
$(document).ready(function() {
    $( "#id" ).mouseover(function() {
     overLink( this );
    });
});
$(document).ready(function(){
  $("#id").mouseover(function(){
    overLink(this);
  });
});

当函数名后跟括号(
()
)时,JavaScript会立即调用(执行)该函数。若要将其作为参考传递,请省略paren。这将有助于:-

$(document).ready(function(){
  $("#id").mouseover(overLink);
});
但是,由于要将参数传递给
overLink
,因此应使用匿名函数:-

function overLink (e){
    alert(e);
}
$(document).ready(function() {
    $( "#id" ).mouseover(function() {
     overLink( this );
    });
});
$(document).ready(function(){
  $("#id").mouseover(function(){
    overLink(this);
  });
});

当函数名后跟括号(
()
)时,JavaScript会立即调用(执行)该函数。若要将其作为参考传递,请省略paren。这将有助于:-

$(document).ready(function(){
  $("#id").mouseover(overLink);
});
但是,由于要将参数传递给
overLink
,因此应使用匿名函数:-

function overLink (e){
    alert(e);
}
$(document).ready(function() {
    $( "#id" ).mouseover(function() {
     overLink( this );
    });
});
$(document).ready(function(){
  $("#id").mouseover(function(){
    overLink(this);
  });
});

无需将
作为参数传递,因为
中的
无论如何都将是元素

function overLink(){
    alert(this);
}
$(document).ready(function() {
    $("#id").mouseover(overLink);
});

无需将
作为参数传递,因为
中的
无论如何都将是元素

function overLink(){
    alert(this);
}
$(document).ready(function() {
    $("#id").mouseover(overLink);
});

可能重复的可能重复您的代码第5行有一个拼写错误,
overlink
应该是
overlink
。您的代码第5行有一个拼写错误,
overlink
应该是
overlink