Javascript 基本jquery.load

Javascript 基本jquery.load,javascript,jquery,Javascript,Jquery,我有这个主页 index.html <script> $(document).ready(function(){ $("#content").load('page.html'); $("#menu").click(function () { alert('Hello'); }); }); <script> <div id="content"></div> $(文档).ready(函数(){ $(“#co

我有这个主页

index.html

<script>
$(document).ready(function(){
    $("#content").load('page.html');

    $("#menu").click(function () {
       alert('Hello');
    });
});
<script>

<div id="content"></div>

$(文档).ready(函数(){
$(“#content”).load('page.html');
$(“#菜单”)。单击(函数(){
警惕(“你好”);
});
});
和在page.html中

<div id="menu">
    <ul>
        <li><a href="#">Link</a></li>
    </ul>
</div>

负载正在工作。。 但警报功能不起作用

我必须使用page.html中的函数吗???
或者还有另一种方法???

问题是在加载子页面之前,要将代码绑定到
#菜单
。您需要在上使用
,或者在加载完成后运行的回调中进行绑定

$(document).ready(function(){
    $("#content").load('page.html', function() {
      $("#menu").click(function () {
         alert('Hello');
      });
    });
});
打开
的版本

$(document).ready(function(){
    $('#content').load('page.html');

    $('#content').on('click', '#menu', function() {
       alert('Hello');
    });
});

因为内容是动态加载的,所以需要使用
live()
(对于jQuery,因为正在加载带有菜单id的元素,所以需要使用
on

<script>
$(document).ready(function(){
    $("#content").load('page.html');

    $(document).on('click', '#menu', function () {
       alert('Hello');
    });
});
<script>

<div id="content"></div>

$(文档).ready(函数(){
$(“#content”).load('page.html');
$(文档)。在('单击','菜单')上,函数(){
警惕(“你好”);
});
});

这实际上不起作用-
#菜单
需要在代码运行时出现,而事实并非如此。您遇到了与OP在其原始代码中相同的问题。您可以在加载回调中绑定事件,也可以执行
$(文档)。在(“单击”、“#菜单”,function()
(我没有投反对票,以防有人跟着我投反对票)需要删除
文档
周围的引号,因为它不是选择器,而是对象。
<script>
$(document).ready(function(){
    $("#content").load('page.html');

    $(document).on('click', '#menu', function () {
       alert('Hello');
    });
});
<script>

<div id="content"></div>