программно запускать обработчик кликов - PullRequest
1 голос
/ 01 июля 2010

Я использую додзё.У меня есть что-то вроде этого:

<a id="fooBar" onclick="foo();bar();">Foo then Bar</a>

Я хочу вызвать обработчик нажатия fooBar с другой кнопки.Что-то вроде:

<a onclick="dojo.query('#fooBar')[0].click()">Do FooBar</a>

Могу ли я это сделать?

1 Ответ

5 голосов
/ 01 июля 2010
dojo.byId('fooBar').onclick();

или

dojo.query('#fooBar')[0].onclick();

См. Примеры .

Я раньше не использовал Dojo, но могу с уверенностью сказать, что вы можете делать лучше, чем встроенные события :). Более того, они не будут управляться Dojo, поскольку они были добавлены в строку. Метод onclick здесь является собственным методом DOM для запуска функции, связанной со свойством onclick элемента.

dojo.byId является ярлыком для document.getElementById, и, честно говоря, вы можете легко обойтись без Dojo здесь:

document.getElementById("fooBar").onclick();

Вот три метода со сравнением экономии символов (9 и 14):

document.getElementById('fooBar').onclick();
dojo.query('#fooBar')[0].onclick();123456789
dojo.byId('fooBar').onclick();12345678901234
<ч />

См. Несколько веских причин, по которым не использует встроенные обработчики щелчков .

...