我正在尝试制作一个简单的工具提示功能(我正在尝试学习jQuery,所以请不要为此建议插件)。当我这样写时,它可以工作:

             $('span.toolTip').hide();
             function toolTip() {
                $('.targetLink').mouseover(function() {
                    $('.toolTip').show().html('Hello there');
                });
            }

            <span class='toolTip'></span>
            <a href="#" class="targetLink">Hover over me</a>


但是,当我尝试通过函数传递参数时,它不起作用:

    $('span.toolTip').hide();
    function toolTip(target, tooltip, message) {
        var target = '.' + target;
        $(target).mouseover(function() {
            var tooltip = '.' + tooltip;
            $(tooltip).show().html(message);
        });
    }

    toolTip('targetLink', 'toolTip', 'Hello There');

    <span class='toolTip'></span>
    <a href="#" class="targetLink">Hover over me</a>

最佳答案

您正在用新的本地target变量“隐藏” target参数:

function toolTip(target, tooltip, message) {
    // this target is not the same as the parameter target
    var target = '.' + target;


只需删除var,它就可以工作:

function toolTip(target, tooltip, message) {
    target = '.' + target;
    ...

07-24 09:50
查看更多