首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页面加载后如何调用JQuery函数?

页面加载后如何调用JQuery函数?
EN

Stack Overflow用户
提问于 2013-06-24 07:23:47
回答 2查看 7.8K关注 0票数 0

我有一个有按钮的页面。当按钮被按下时,将发出一个AJAX调用,然后来自该调用的html将替换我在主页上拥有的div容器。我有脚本,需要加载到第二页。所以我担心的是,当来自第二个页面的脚本运行时,它会在控制台中给我一个“Object # has no method 'find‘”错误。我知道这是一个脚本不能调用JQuery函数的问题。有人知道如何在生成第二个页面后调用JQuery函数吗?下面是我的页面所做的一个例子:

主页:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
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>';

然后,当从第二个页面执行脚本时,我得到< Object # has no method 'find‘>错误。如果我在主页上包含脚本,脚本中什么都不起作用。谁知道在哪里可以给我指出正确的方向,让所有这些都能正常工作?

编辑**

抱歉把你们搞糊涂了。我放的代码只是我很快拼凑起来的东西。按钮单击代码将在document.ready中,但从第二个脚本调用的其他函数不在document.ready中。它们是否需要在document.ready回调中才能识别JQuery函数?

编辑2 **

感谢您澄清您可以拥有多个Document.Readys。我将在10分钟窗口结束后选择答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-24 07:28:19

您的脚本标记的顺序错误。在使用jQuery之前,您必须先加载它。另外,将所有与DOM交互的代码放在一个$(document).ready()回调中:

代码语言:javascript
复制
<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>
票数 4
EN

Stack Overflow用户

发布于 2013-06-24 07:26:11

把你的代码放进去

代码语言:javascript
复制
$(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和

代码语言:javascript
复制
echo '<script src="js/myscript.js"></script>';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17266224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档