2017-02-02 8 views
-1

Это запускает событие OnLoad:JS - OnLoad событие не стреляющие

<!DOCTYPE html> 
<html> 
<body onload="alert('Hello')"> 
<p> Demo </p> 
</body> 
</html> 

Это не срабатывает событие OnLoad:

<!DOCTYPE html> 
<html> 
<body> 
<p id="demo" onload="alert('Hello')"> Demo </p> 
</body> 
</html> 

Во втором примере, почему это событие не стреляли?

+0

Потому что ваш 'p' никогда не получает _loaded_ он просто получает читать, разобран и т.д. ... Затем, когда' body' загружается (синтаксический Закончился и т.д ...) , событие будет запущено. Короче говоря, только «тело» и его родители получают это событие. – somethinghere

ответ

1

Элементы, которые поддерживают onload являются

<body>, <frame>, <iframe>, <img>, <input type="image">, <link>, <script>, <style> 

способ доступа к любому другому элементу на нагрузке может быть, добавив тег сценария, как показано ниже, хотя это очень сильно зависит от того, что вы ва нт достичь

<!DOCTYPE html> 
 
    <html> 
 
    <body> 
 
     <p id="demo"> Demo </p> 
 
     <script>console.log(document.getElementById('demo').textContent);</script> 
 
    </body> 
 
    </html>

+0

@dippas Мне понравилось предупреждение ......;) – LGSon

1

onloadсвойство/событие только для тела, если вы хотите внести некоторые изменения в <p> вы должны сделать это в функции, определенной в телаonload собственности

Смежные вопросы