簡體   English   中英

頁面加載后如何調用JQuery函數?

[英]How to call JQuery functions after page is loaded?

我有一個帶有按鈕的頁面。 當按下按鈕時,將進行AJAX調用,然后該調用中的html替換我在主頁上擁有的div容器。 我有需要在第二頁上加載的腳本。 因此,我擔心的是,當第二頁中的腳本正在運行時,它在控制台中給我一個“ Object#has no method'find'”錯誤。 我知道這是腳本無法調用JQuery函數的問題。 有人知道第二頁生成后如何調用JQuery函數嗎? 這是有關我的頁面功能的示例:

主頁:

<html>
<head>
<script type="text/javascript">
$(document).ready({
    $('body').on('click', '.button', function() {
        $.ajax({
            type: 'GET',
            url: 'page.php'
            data { ... },
            success: function(e){
                $('#container').html(e);
            }
        });
    });
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<button class="button" value="Click me!"></button>
<div id="container">
</div>
</body>
</html>

page.php文件:

echo '<div id="dropbox">';
echo '  <div class="message">Drop files here</i></div>';
echo '</div>';
echo '<script src="js/filedrop.js"></script>';
echo '<script src="js/upload.js"></script>';

然后,當從第二頁執行腳本時,我得到<對象號沒有方法'查找'>錯誤。 如果我在主頁上包含腳本,則腳本中沒有任何內容。 有人知道該為所有這些工作指明正確的方向嗎?

編輯**

抱歉讓你們困惑。 我輸入的代碼只是我很快組合在一起的內容。 按鈕單擊代碼將在document.ready中,但是從第二個腳本調用的其他函數不在document.ready中。 他們是否需要在document.ready回調中才能識別JQuery函數?

編輯2 **

感謝您澄清您可以擁有多個Document.Readys。 10分鍾后,我將選擇答案。

您的腳本標簽順序錯誤。 您必須先加載jQuery,然后才能使用它。 同樣,將所有與DOM交互的代碼放在$(document).ready()回調中:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $('body').on('click', '.button', function() {
            $.ajax({
                type: 'GET',
                url: 'page.php'
                data { ... },
                success: function(e){
                    $('#container').html(e);
                }
            });
        });
    });
</script>

將您的代碼放入

$(document).ready(function() {
  // your code  
  $('body').on('click', '.button', function() {
     $.ajax({
        type: 'GET',
        url: 'page.php'
        data { ... },
        success: function(e){
            $('#container').html(e);
        }
    });
  });
});

document.ready表示該頁面已加載或創建文件myscript.js ,在該文件中,將所有代碼包裝在document.ready中,

echo '<script src="js/myscript.js"></script>';

暫無
暫無

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

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