Поддельный “щелчок” для активации onclick метода

46
задан yoavf 6 September 2010 в 09:23
поделиться

9 ответов

При использовании JQuery, можно сделать:

$('#elementid').click();
59
ответ дан Eduardo Campañó 26 November 2019 в 20:05
поделиться

Как только Вы выбрали элемент, который можно назвать, щелчок ()

document.getElementById('link').click();

см.: https://developer.mozilla.org/En/DOM/Element.click

я не помню, работает ли это над IE, но это должно. У меня нет машины окон поблизости.

65
ответ дан Ben 26 November 2019 в 20:05
поделиться

Я мог неправильно истолковывать Ваш вопрос, но, да, это возможно. путь, которым я пошел бы о выполнении его, является этим:

var oElement = document.getElementById('elementId');   // get a reference to your element
oElement.onclick = clickHandler; // assign its click function a function reference

function clickHandler() {
    // this function will be called whenever the element is clicked
    // and can also be called from the context of other functions
}

Теперь, каждый раз, когда этот элемент нажат, код в clickHandler выполнится. Точно так же можно выполнить тот же код путем вызывания функции из контекста других функций (или даже присвоиться clickHandler для обработки событий, инициированных другими элементами),>

7
ответ дан Tom 26 November 2019 в 20:05
поделиться
var clickEvent = new MouseEvent('click', {
  view: window,
  bubbles: true,
  cancelable: true
});
var element = document.getElementById('element-id'); 
var cancelled = !element.dispatchEvent(clickEvent);
if (cancelled) {
  // A handler called preventDefault.
  alert("cancelled");
} else {
  // None of the handlers called preventDefault.
  alert("not cancelled");
}

element.dispatchEvent поддерживается во всех главных браузерах. Пример выше основан на образце simulateClick() функция на MDN.

5
ответ дан bnp887 26 November 2019 в 20:05
поделиться

Это - идеальный пример того, где необходимо пользоваться библиотекой JavaScript как Прототип или JQuery к краткому обзору далеко различия перекрестного браузера.

3
ответ дан RedFilter 26 November 2019 в 20:05
поделиться

просто назовите "onclick"!

вот HTML в качестве примера:

<div id="c" onclick="alert('hello')">Click me!</div>
<div onclick="document.getElementById('c').onclick()">Fake click the previous link!</div>
2
ответ дан hasen 26 November 2019 в 20:05
поделиться

Для IE существует fireEvent () метод. Не знайте, работает ли это на другие браузеры.

2
ответ дан Vilx- 26 November 2019 в 20:05
поделиться

Я не использовал jQuery, но IIRC, первый упомянутый метод не инициировал onclick обработчик.

я назвал бы связанное onclick метод непосредственно, если Вы не используете детали события.

1
ответ дан Can Berk Güder 26 November 2019 в 20:05
поделиться

Вы также можете попробовать получить атрибут onclick элемента и затем передать его в eval. Это должно работать, несмотря на большое табу на eval. Образец помещаю ниже

eval(document.getElementById('elementId').getAttribute('onclick'));
-3
ответ дан 26 November 2019 в 20:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: