簡體   English   中英

.load()頁面未運行jquery

[英].load() page doesn't run jquery

我正在使用.load()函數向頁面添加內容,但是我無法讓任何jquery腳本來處理加載的內容。

這是加載的頁面和腳本的示例:

<div class="content">

    <div class="sections">
        <div id="holder">
            <div class="resumelink" id="educ">
                Education
            </div>
            <div class="resumelink" id="work">
                Work
            </div>
            <div class="resumelink" id="skills">
                Skills
            </div>
        </div>
    </div>

    <div class="resumecontent">
        blah blah blah
    </div>

    <script src="jquery-2.0.3.min.js" type="text/javascript" ></script> 
    <script>
            $('#educ').click(function () {
                // any script here
            });

            $('#work').click(function () {
                // any script here
            });

            $('#skills').click(function () {
                // any script here
            });
    </script>
</div>

還有其他一些帖子似乎也有同樣的問題,但似乎沒有一個對我有幫助。 無論我如何嘗試,腳本似乎都無法正常工作-在加載內容的初始頁面上無法運行-甚至無法使console.log腳本正常工作。

@Archer提供的SOLUTION-只是添加jquery()標記並添加到原始頁面而不是已加載的頁面。 一個例子:

jQuery(function($) {
    $(document).on("click", "#educ", function() {
        // any function here
    });
});

謝謝!

從您加載的html中刪除所有腳本引用-使用.load()時將不會執行它們。

<div class="content">
    <div class="sections">
        <div id="holder">
            <div class="resumelink" id="educ">
                Education
            </div>
            <div class="resumelink" id="work">
                Work
            </div>
            <div class="resumelink" id="skills">
                Skills
            </div>
        </div>
    </div>
    <div class="resumecontent">
        blah blah blah
    </div>
</div>

然后,在您的原始頁面(最好是包含的腳本文件)中,添加以下內容...

jQuery(function($) {
    $(".content").on("click", "#educ", function() {
        // any script here
    });

    $(".content").on("click", "#work", function() {
        // any script here
    });

    $(".content").on("click", "#skills", function() {
        // any script here
    });
});

我認為您想這樣做:

$('#container').load("content.html", function () {
     $('#educ').click(function () {
            // any script here
     });

     $('#work').click(function () {
          // any script here
     });

     $('#skills').click(function () {
          // any script here
     });
});

我認為Javascript無法在加載調用中執行,因此您需要將其放入回調中才能執行。

DOM准備就緒后綁定事件,請使用此代碼

 <script>
    $(document).ready(function(){
                $('#educ').click(function () {
                    // any script here
                });

                $('#work').click(function () {
                    // any script here
                });

                $('#skills').click(function () {
                    // any script here
                });
    });
        </script>

$(“ .resumecontent”).load(“ insert.html”);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM