在页面加载时调用函数,而不是在单击时调用事件

Function is being called when page loads instead of on click event

本文关键字:调用 事件 单击 函数 加载      更新时间:2023-09-26

我试图通过单击事件调用此函数,但由于某种原因,它在页面加载时被调用。我完全困惑为什么我的函数会以这种方式做出反应。

这是我的函数

var registerTab = function(panel){
    var active = 'off';
    if($('#'+panel).css('left') <= '0'){
        $('#'+panel).animate({left: '0'});
        active = 'on';
    } else {
        $('#'+panel).animate({left: '-380px'});
    } 
};
$(function() {
    tabRegister.on('click', registerTab('sidePanel'));
});

奇怪的是,如果我在删除传递的变量并对其中的选择器进行硬编码时调用它,则工作正常,这对我来说又没有了。请任何帮助将非常有帮助,并为我节省一些头发。

registerTab('sidePanel')

此调用将导致立即调用函数。我想你真正想要的是这个:

tabRegister.on('click', function () { 
    registerTab('sidePanel')
});