我的导航栏中有一个下拉列表。我做的事情与通常的下拉列表有点不同,而不是创建下拉列表&只是隐藏,我创建(当一个链接悬停在上面)&使用javascript动态地销毁它(当你停止在该链接上停留时)。
我的问题:我正在尝试在下拉列表div(我在javascript中创建)中设置 onmouseleave 。但是我希望在onmouseleave上调用的函数有一个参数 - 如何指定这个参数?
dropDownList.onmouseleave = onLeaveEx; // how do I specify the 1st parameter? Such as onLeaveEx("aboutUsLink")
function onLeaveEx( linkName )
{
if ( navSubMenu != null )
{
navSubMenu.parentNode.removeChild( navSubMenu );
navSubMenu = null;
}
}
答案 0 :(得分:1)
使用匿名函数:
dropDownList.onmouseleave = function() { onLeaveEx(my_parameter); };
答案 1 :(得分:1)
你想要的是封闭。这允许事先传递一些参数:
function make_callback(link_name){
function actual_event_handler(evt){
//this inner function can use link_name
//here
}
return actual_event_handler;
}
dropDownList.onmouseleave = make_callback("a linke name");