2014-12-10 3 views
0

Я пытаюсь вызвать эту функцию через событие click, но по какой-либо причине она вызывается при загрузке страницы. Я полностью озадачен тем, почему моя функция реагирует таким образом.Функция вызывается, когда загружается страница, а не на событие щелчка

Вот моя функция

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')); 
}); 

Странная вещь, если я называю это, когда я удалить переданную переменную и жесткий код селектор в нем работает отлично, который снова делает не так со мной. Пожалуйста, любая помощь будет очень полезна и избавит меня от некоторых волос.

ответ

3
registerTab('sidePanel') 

Этот вызов вызовет немедленную вызов функции. Я думаю, что вы действительно хотите:

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

haha ​​thanks, я танцевал вокруг этого решения. Хорошо работает сейчас, спасибо. –

+0

Кроме того, я бы не работал с «активной» переменной, я бы сделал это через класс css, который вы можете легко прочитать и написать с помощью jquery – longbow

+0

«активный» будет использоваться для другой идеи, но я никогда не получал ее , на самом деле это не имеет смысла на данный момент и должно быть удалено. Благодарю. –

Смежные вопросы