Я чувствую, что это одна из тех проблем, которые вы только столкнуться после того, как слишком мало сна или слишком много кофе ...Jquery Click-handler не работает с именованной функцией?
У меня есть элемент
<a id="blah" href="#">somethinghere.com</a>
Я определить функцию
function test(){
alert('hi');
};
я пытаюсь прикрепить функцию как клик-обработчик (https://jsfiddle.net/8r1rcfuw/30/):
$('#blah').on('click', test());
и загрузите страницу, и обработчик выполнится немедленно - без каких-либо щелчков.
Однако, когда я просто использовать анонимную функцию в качестве обработчика (https://jsfiddle.net/8r1rcfuw/36/):
$('#blah').on('click', function(){
alert('hi');
});
он прекрасно работает
Выполнение обоих (https://jsfiddle.net/8r1rcfuw/39/):
$('#blah').on('click', function(){
test();
});
function test(){
alert('hi');
}
, кажется, работает нормально - но кажется немного лишним.
Это похоже на то, что я делал 1000 раз раньше - что дает?
'$ ('# бла') на ('нажмите', тест());.' ==> '$ ('# бла') на ('нажмите', тест);.' Удалите вызов. – Tushar