Есть ли способ использовать атрибут html onclick
для вызова нескольких функций JavaScript?Как вызвать несколько функций JavaScript в событии onclick?
ответ
onclick="doSomething();doSomethingElse();"
Но на самом деле, вы лучше не использовать onclick
вообще и прикрепление обработчик события к узлу DOM через код Javascript. Это называется unobtrusive javascript.
Спасибо за ссылку на ненавязчивый JS, я уже сталкивался с этим раньше, и я должен воздержаться от написания навязчивого JS только потому, что я ленив! xD – Qcom
нет проблем ... Я также очень рекомендую jQuery, который действительно поможет вам с вашей ненавязчивой целью. Вы можете легко присоединить обработчики событий к элементам DOM и сделать гораздо более незаметно. Я использовал его уже 2 года и никогда не оглядывался назад. – brad
Если один из вызванных действий в onclick терпит неудачу, все это падает как цепочка домино, и onclick не работает. –
Несомненно, просто привяжите к нему несколько слушателей.
Short cutting with jQuery
$("#id").bind("click", function() {
alert("Event 1");
});
$(".foo").bind("click", function() {
alert("Foo class");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="foo" id="id">Click</div>
никогда не упоминается jQuery – hunter
@hunter: Я был короткой резкой с помощью jQuery. Я точно не помню код слушателя собственного события.Вы также можете сделать то, что упоминает Марко, но лучше использовать прослушиватель событий. –
Возможно, я не ответил на исходный вопрос, но поскольку я использую jQuery, он ответил мне. –
Ссылка 1 функции определяется
<a href="#" onclick="someFunc()">Click me To fire some functions</a>
Обжиг несколько функций из someFunc()
function someFunc() {
showAlert();
validate();
anotherFunction();
YetAnotherFunction();
}
IMHO, это подход истинного программиста. –
@ b1nary.atr0phy nope. путь программиста - добавить атрибут href = "", если у пользователя нет javascript. то с помощью javascript (так что вы знаете, что пользователь его поддерживает) вы удаляете href и добавляете прослушиватели событий к событию. Таким образом, если другой модуль вашего кода будет прослушивать один и тот же клик, он не будет перезаписан или не перезапишет ваш код. прочитайте: https://developer.mozilla.org/en-US/docs/Web/API/Event – gcb
Это может не сработать, если у вас есть какие-либо аргументы, передаваемые этим функциям, особенно если вы создаете эти аргументы с сервера, боковой язык. Было бы проще создать/поддерживать код, добавив функции (с любыми аргументами) на серверном языке, а не тестировать все возможные итерации как на сервере, так и на клиенте. – Siphon
Я хотел бы использовать метод element.addEventListener
, чтобы связать его функции. Из этой функции вы можете вызывать несколько функций.
Преимущество, которое я вижу в привязке события к одной функции, а затем вызывая несколько функций, состоит в том, что вы можете выполнить некоторую проверку ошибок, иметь некоторые инструкции if else, чтобы некоторые функции вызывались только при выполнении определенных критериев.
Это требуется код, если вы используете только JavaScript и не JQuery
var el = document.getElementById("id");
el.addEventListener("click", function(){alert("click1 triggered")}, false);
el.addEventListener("click", function(){alert("click2 triggered")}, false);
Это должен быть правильный ответ и правильный способ, как это сделать. – Fusion
Вы можете создавать все функции в один и назвать them.Libraries как Ramdajs имеет функцию сочинить несколько функций в одном ,
<a href="#" onclick="R.compose(fn1,fn2,fn3)()">Click me To fire some functions</a>
или вы можете поместить композицию в качестве отдельной функции в JS файл и назовите его
const newFunction = R.compose(fn1,fn2,fn3);
<a href="#" onclick="newFunction()">Click me To fire some functions</a>
, вы одержимы рампой. –
Вы можете добавить несколько только с помощью кода, даже если у вас есть второй onclick
atribute в HTML он получает игнорируется, и click2 triggered
никогда не печатается, вы можете добавить один на действие mousedown
, но это всего лишь обходной путь.
Так что лучше всего сделать, это добавить их с помощью кода, как в:
var element = document.getElementById("multiple_onclicks");
element.addEventListener("click", function(){console.log("click3 triggered")}, false);
element.addEventListener("click", function(){console.log("click4 triggered")}, false);
<button id="multiple_onclicks" onclick='console.log("click1 triggered");' onclick='console.log("click2 triggered");' onmousedown='console.log("click mousedown triggered");' > Click me</button>
Вы должны заботиться, как события могут накапливаться, и если бы вы добавить множество событий, могут потерять счетчик заказа.
- 1. Как мне вызвать несколько функций VBA в одном событии?
- 2. Как вызвать несколько функций JavaScript, используя функцию в событии onclick и используя цикл для подсчета функций из массива в функции?
- 3. Как вызвать функцию JQuery в событии OnClick?
- 4. Как сделать два вызова функций javascript во встроенном событии onclick?
- 5. Запуск двух функций Javascript в событии onclick кнопки
- 6. Как вызвать несколько функций в режиме onunload с помощью javascript?
- 7. Как написать несколько функций javascript?
- 8. Как вызвать несколько функций
- 9. Как запустить несколько функций onClick
- 10. Как вызвать onclick несколько раз?
- 11. несколько функций в одном OnClick
- 12. Как вызвать несколько зависимых функций?
- 13. как вызвать несколько функций onSubmit
- 14. Как я могу вызвать «AktionLink» в событии «onClick» в «div»?
- 15. внешняя функция javascript в событии onclick
- 16. Как использовать несколько функций в одном событии html dom?
- 17. HTML/Javascript: несколько функций включения/задержек функции onClick?
- 18. Две функции в событии onclick javascript?
- 19. Изменение Javascript Фокус в событии onClick?
- 20. Как создать цикл в событии onClick?
- 21. OnClick несколько функций с задержкой
- 22. Несколько функций на одном событии с JQuery/Javascript
- 23. как вызвать несколько функций в действии?
- 24. Как вызвать несколько функций в ng-keyup?
- 25. Как вызвать несколько функций в python
- 26. Как вызвать несколько функций в просто View
- 27. Как принудительно вызвать несколько функций в последовательности?
- 28. Как вызвать несколько функций DAO в транзакции
- 29. цитаты в событии onclick
- 30. Метод window.onload, как вызвать несколько функций
Возможный дубликат [Могу ли я иметь два события onclick JavaScript в одном элементе?] (Http://stackoverflow.com/questions/2881307/can-i-have-two-javascript-onclick-events-in-one- элемент) –