2

.net MVC 3 で小さな Web プロジェクトを開始します。私の問題: Jquery 1.8.3.js を含めました。しかし、私の関数はJavaScriptファイルでは機能しません:

これは機能しません:

$(document).ready(function() {
    $('input:button').button();
});

$('#testbut').on('click', function (event, ui) {

    alert("CLICK");

});

これはまだ正常に機能しています:

$(document).ready(function() {
    $('input:button').button();

    $('#testbut').on('click', function (event, ui) {

    alert("CLICK");

    });
});

理由がわかりません。

インクルードは正しい順序です。

4

2 に答える 2

1

コードのブロックを に配置すると$(document).ready()、ドキュメントがロードされた後、リスナーがターゲットにアタッチされるまで待機します。したがって、最初の例では、jquery はリスナーをアタッチします$('#testbut').on('click', function (event, ui) {が、DOM はまだ要素をロードしていません。2 番目の例では、ドキュメントが読み込まれた後にのみリスナーをアタッチします。

于 2012-12-21T21:21:00.090 に答える