2010-10-06 14 views
20

Chcę zadać pytanie dotyczące kodu Javascript w wersji onload.Javascript onload in HTML

Piszę stronę JSP z kodem <%@ include file ="body.jsp". Dołączony body.jsp zawiera:

<table onload="function()"> 

Ten powinny załadować funkcji JavaScript, ale nie wydaje się mieć żadnego wpływu na stronie. Czy onload można używać tylko w tagu body?

Odpowiedz

38

onload mogą być wykorzystywane wyłącznie do <body>, <img>, <script>, tagów, ponieważ mówi, kiedy zasób zewnętrzny (obraz, scenariusz, ramka) lub cała strona (korpus) została załadowana

Od HTML5 te mogą również wystrzelić obciążenia zdarzenie: <link>, <style>, <input type=image>, <object>
Wsparcie dla nich wciąż może być na chybił trafił, choć (e.g. older Android browsers)

+0

i "" elementy. – Andrey

2

"onLoad" może być używany na znacznikach body-frameset. zobaczyć niektóre działania mogą użyć:

<body onload="function(){alert('This is an action!')}"> 
3

jak inne chłopaki już wspomniano zdarzenie onLoad nie zadziała na stole. To, co możesz zrobić, to dołączenie modułu obsługi onLoad do elementu body (który będzie następnie uruchamiany, gdy strona zostanie załadowana) i manipulować tabelą, na przykład przypisując identyfikator do tabeli.

<body onload="function() { var table = document.getElementById("table-id"); ... }"> 
    <table id="table-id"></table> 
</body> 

Czy używasz jakiegoś framework javascript?

13

Dlaczego nie włączyć go przez <script tag>?

Wewnątrz pliku .jsp

<script> 
    window.onload = function() { 
     alert("Hello!"); 
    } 
    // or to execute some function 
    window.onload = myFunction; //notice no parenthesis 
</script> 
0

najprostszy sposób znaleźć jest do korzystania z zewnętrznego pliku JavaScript i jQuery.

// Variables and functions you want to declare 
var socket = io.connect(); 
// ..... 

// Function you want to run on load 
$(function() { 
    $('#submit').click(function() {addUser();}); 
    // ... any other functions you want to run on load 
}); 

To jest fragment kodu z czegoś nad czym pracowałem. Zmienna jest zadeklarowana przed uruchomieniem kodu (Tworzy gniazdo sieciowe). Następnie jest selektor dokumentu jquery ($), który działa pod obciążeniem i wywołuje funkcję init w celu modyfikacji mojego html. Używam go do wywołania anonimowej funkcji, która działa od razu.