Javascript 为什么悬停会立即触发?

Javascript 为什么悬停会立即触发?,javascript,jquery,Javascript,Jquery,为什么页面加载后会立即触发悬停事件 功能显示选择器(位置){ 警戒(位置); } 函数hideSelector(){ } $(“#1”)。悬停(显示选择器(17),隐藏选择器) 因为您正在调用函数而不是引用它 $("#1").hover(showSelector(17), hideSelector); // ^^^^ 使用showSelector(17)作为对hover函数的回调,将首先调用该函数,然后将其返回值分配给hover回调。为了解决这个

为什么页面加载后会立即触发悬停事件

功能显示选择器(位置){
警戒(位置);
}
函数hideSelector(){
}
$(“#1”)。悬停(显示选择器(17),隐藏选择器)

因为您正在调用函数而不是引用它

$("#1").hover(showSelector(17), hideSelector);
//                        ^^^^
使用
showSelector(17)
作为对
hover
函数的回调,将首先调用该函数,然后将其返回值分配给hover回调。为了解决这个问题,可以使用匿名函数作为回调函数,然后使用参数调用其中的函数

功能显示选择器(位置){
警戒(位置);
}
函数hideSelector(){}
$(“#1”).hover(函数(){
//使用匿名函数
//在此处使用参数调用函数
显示选择器(17);
},隐藏选择器)

因为您正在调用函数而不是引用它

$("#1").hover(showSelector(17), hideSelector);
//                        ^^^^
使用
showSelector(17)
作为对
hover
函数的回调,将首先调用该函数,然后将其返回值分配给hover回调。为了解决这个问题,可以使用匿名函数作为回调函数,然后使用参数调用其中的函数

功能显示选择器(位置){
警戒(位置);
}
函数hideSelector(){}
$(“#1”).hover(函数(){
//使用匿名函数
//在此处使用参数调用函数
显示选择器(17);
},隐藏选择器)

因为您是通过在末尾添加
()
来调用函数,所以您可以传递一个匿名函数作为mouseenter回调,该回调可以调用
showSelector
,并使用所需的参数,如

功能显示选择器(位置){
警戒(位置);
}
函数hideSelector(){}
$(“#1”).hover(函数(){
显示选择器(17)
},隐藏选择器)

因为您是通过在末尾添加
()
来调用函数,所以您可以传递一个匿名函数作为mouseenter回调,该回调可以调用
showSelector
,并使用所需的参数,如

功能显示选择器(位置){
警戒(位置);
}
函数hideSelector(){}
$(“#1”).hover(函数(){
显示选择器(17)
},隐藏选择器)