0

これは単純な 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>

そして、これは私が含めたいjsファイルです:

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

最初に js ファイルをインクルードしただけでは、# セレクターは id Uploadを認識できないため、ファイルの最後に再度インクルードする必要があります...正しくないことはわかっています。しかし、私はそれを解決する方法がわかりませんか?タグhead内にすべての js ファイルを含めるだけではありませんか? 私が示している適切なコーディング スタイルは何ですか? ありがとう。

更新の質問!!!

このようなシナリオがたくさんある場合、すべての関数に「$(document).ready()」を追加する必要がありますか? 少し奇妙です...さらに別のアプローチはありますか?または、Web 開発者は常にそうしています。

また、js ファイルをどこに含める必要がありますか? 始まりか終わりか?

最後に全部入れておけば、こういう問題は出てこない。では、なぜ多くの人が最初に js ファイルをインクルードするのでしょうか?

4

4 に答える 4

2

要素を選択する前に、DOM の準備が整うまで待ちます。

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

アップデート:

コードの実行時にページ上にあると予想される要素を操作する場合は、常に使用する必要があります。これは、コードがドキュメントの$(document).ready(...)中にある場合に特に重要です。<head></head>

コードがタグ内にある場合は使用する必要はありませんが、両者には違いがあることに注意してください。$(document).ready(...)</body>

于 2012-09-16T13:06:03.577 に答える
1

チェックして$(document).ready()一度だけ含めてみませんか。

$(document).ready(function() {
    $( '#Upload' ).bind('click', function(){
        alert(">");
    });
});
于 2012-09-16T13:05:29.513 に答える
0


$(document).ready(function(){ ... code here ... });
jQuery を使用している場合、または参照している要素がまだ読み込まれているか
$(function(){ ... code here ... })
どうかわからない場合は、常に jQuery を配置する必要があります。このようにして、すべてが期待どおりに機能することを確認します。この関数には別の問題がありますが、これが最も重要です。

于 2012-09-16T13:49:10.833 に答える