指定具有1个参数的onmouseleave函数

时间:2011-07-11 03:03:02

标签: javascript html

我的导航栏中有一个下拉列表。我做的事情与通常的下拉列表有点不同,而不是创建下拉列表&只是隐藏,我创建(当一个链接悬停在上面)&使用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;
        }
    }

2 个答案:

答案 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");