Я думаю, что вы ищете element.dispatchEvent
:
function simulateClick() {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var cb = document.getElementById("checkbox");
var canceled = !cb.dispatchEvent(evt);
if(canceled) {
// A handler called preventDefault
alert("canceled");
} else {
// None of the handlers called preventDefault
alert("not canceled");
}
}
Я прочитал ваш вопрос как «Я пытаюсь запустить событие onclick для моей кнопки», тогда как все остальные, кажется, прочитали его как «Я пытаюсь обработать событие onclick для моей кнопки». Пожалуйста, дайте мне знать, если я ошибаюсь.
Изменяя ваш код, правильная реализация x-браузера может быть такой:
if (linkButton != null)
{
if (linkButton.fireEvent)
linkButton.fireEvent("onclick");
else
{
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
linkButton.dispatchEvent(evt);
}
}