@GRISCOM
Электронщик, программист

Функция JS запускается только с html элемента, в чем дело?

Есть функция setCashmachineEnabled();

Вариант 1 (рабочий):
<div id="knopka" onclick="setCashmachineEnabled(true);">Запуск</div>


Вариант 2 (не работает):
<script type="text/javascript">
    window.onload = function(){
           setCashmachineEnabled(true);
          }
   </script>


Пробовал разные вариации скриптов, не могу понять почему из скрипта не могу запустить функцию.
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 2
psixodyb
@psixodyb
Хочу, чтобы мой сын стал полубогом Frontend'a
Судя по второму куску кода функция не прикреплена к клику. Jsfiddle помог бы разобраться в чем дело
Ответ написан
mlnkv
@mlnkv
JavaScript Developer
ну так наверное не срабатывает window.onload, попробуйте вывести alert() внутри функции

P.S. и еще, не надо использовать событие window.onload, потому что оно срабатывает только тогда, когда весь контент загружен (в том числе картинки и другое) и если у вас картинка будет грузится минуту, то и событие произойдет через минуту, особенно это заметно на сильно нагруженных контентом сайтах.

Вот вам кроссбраузерное решение

//IE9+
document.addEventListener('DOMContentLoaded', function(){
// your code goes here
}, false);

// IE6+

r(function(){
  alert('DOM Ready!');
});
function r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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