Jest to prosty plik HTML:

<!DOCTYPE html>
<html>
   <head>
<title>Test Uploading Func.</title>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery-1.7.2.js">                  </script>        
<link type="text/css" href="jquery-ui-1.8.21.custom.css" rel="Stylesheet" />
    <script type="text/javascript" src="jquery-ui-1.8.21.custom.min.js"></script>

        <!--Include js file-->
        <script type="text/javascript" src="upload.js" ></script>
</head>
<body>
    <button id="Upload" value="upload">upload</button>      
    <script type="text/javascript" src="upload.js" ></script>
</body>

I to jest plik JS, który chcę dołączyć:

$( '#Upload' ).bind('click', function(){
alert(">");
});

Jeśli włączę plik JS na początku, selektor # nie może znać identyfikatora prześlij , aby muszę go ponownie włączyć Na końcu pliku ... wiem, że nie jest poprawny. Ale nie wiem, jak to rozwiązać? Nie umieszczamy tylko wszystkich plików JS w głowie Tag ? Jaki jest odpowiedni styl kodowania? Dzięki.

Zaktualizuj pytanie !!!

Jeśli mam dużo scenariusza, czy powinienem dodać "$ (Document) .Ready ()" do wszystkich funkcji? Trochę dziwne ... wciąż kolejne podejście? Lub deweloperzy zawsze to robią.

A gdzie powinienem zawierać mój plik JS? Na początku lub końcu?

Jeśli włączę je na końcu, ten rodzaj problemu nie pojawi się. Więc dlaczego mnóstwo ludzi obejmuje plik JS na początku?

0
Alston 16 wrzesień 2012, 17:02

3 odpowiedzi

Najlepsza odpowiedź

Poczekaj, aż dom będzie Gotowy przed wybraniem elementów:

$(document).ready(function () {
    $( '#Upload' ).bind('click', function(){
        alert(">");
    });
});

Aktualizacja:

Powinieneś zawsze Użyj $(document).ready(...) Jeśli manipulowanie elementami, których spodziewasz się na stronie, gdy działa kod. Jest to szczególnie ważne, jeśli kod jest w dokumencie <head></head>.

Nie jesteś P / 4820523/ 497356 "> Różnice między dwoma .

2
Community 23 maj 2017, 12:12

Dlaczego nie sprawdzić $(document).ready() i zawierać tylko raz:

$(document).ready(function() {
    $( '#Upload' ).bind('click', function(){
        alert(">");
    });
});
1
Mihai Iorga 16 wrzesień 2012, 13:05

Zwykle uważa się za lepszą praktykę, aby umieścić wszystkie skrypty na dole tagu ciała. Jedynym czasem nie jest zazwyczaj do wyspecjalizowanych skryptów, które muszą być na górze, takie jak HTML5 SHIV lub skrypty analityczne.

Głównym powodem jest to, że interpretacja skryptu zatrzymuje renderowanie HTML / CSS, który może faktycznie zmniejszyć postrzeganą wydajność obciążenia.

Side-korzyści polega na tym, że zazwyczaj nie musisz się martwić o zdarzenia DOM Ready, ponieważ możesz być pewien HTML jest "gotowy", gdy skrypt strzela poniżej odniesienia elementu.

1
Erik Reppen 16 październik 2013, 16:17