2014-12-01 1 views
2

Я пишу кликер, как это;Как вызвать обработчик встроенного клика сразу с помощью JQuery?

$("#button1").click(function(evntData) 
{ 
    alert("button1 clicked."); 
}); 

, чтобы вызвать его немедленно Мне это нравится;

$("#button1").click(function(evntData) 
{ 
    alert("button1 clicked."); 
}(null)); 

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

ответ

2

Вы должны trigger нажмите событие:

$("#button1").click(function(evntData) { 
    alert("button1 clicked."); 
}).trigger('click'); 

Другой способ заключается в самом деле вызвать функцию и обеспечивает тот же функция как обработчик событий:

function onClick(evntData) { 
    alert("button1 clicked."); 
} 

$("#button1").click(onClick); 

onClick(); // you can pass object parameter evntData if needed 
+0

как в моем случае Я привязал обработчик одного клика на нескольких кнопках. эти кнопки находятся в списке, поэтому я сделал $ («ul button»). click (handle). первое решение вызывает функцию столько раз, сколько общее количество кнопок. как заставить его звонить только один раз? –

+1

Вы хотите имитировать нажатие только одной кнопки? Который из? Вам нужно взять нужную кнопку и вызвать обработчик кликов по определенному. Например, на первой кнопке из коллекции: '$ (« ul button »). Click (handle) .first(). Trigger ('click')'. – dfsq

2

Вы можете использовать .click() после связывания события щелчка, чтобы вызвать щелчок:

$("#button1").click(function(evntData) 
{ 
    alert("button1 clicked."); 
}).click(); //or .trigger('click')