Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:通过jquery.get()更新的DOM元素不是';t响应现有的页面侦听器_Javascript_Jquery_Ajax_Dom - Fatal编程技术网

Javascript:通过jquery.get()更新的DOM元素不是';t响应现有的页面侦听器

Javascript:通过jquery.get()更新的DOM元素不是';t响应现有的页面侦听器,javascript,jquery,ajax,dom,Javascript,Jquery,Ajax,Dom,我试图通过单击某些导航元素(h2.pagenav)来更新div的内容(#幻灯片内容)。内容结构是统一的,每个请求的HTML文档包含两个这样的nav元素(“上一个”、“下一个”)。然而,我的监听器只为页面加载时出现的初始导航按钮上的点击事件触发一次,我不明白为什么 我的理解是,当使用jQuery的append()函数而不是html()时,附加的内容应该在DOM中注册,从而可用于事件侦听。Lil的帮助 页面结构非常简单: HTML <?php require('common.php'); ?&

我试图通过单击某些导航元素(
h2.pagenav
)来更新div的内容(
#幻灯片内容
)。内容结构是统一的,每个请求的HTML文档包含两个这样的nav元素(“上一个”、“下一个”)。然而,我的监听器只为页面加载时出现的初始导航按钮上的点击事件触发一次,我不明白为什么

我的理解是,当使用jQuery的
append()
函数而不是
html()
时,附加的内容应该在DOM中注册,从而可用于事件侦听。Lil的帮助

页面结构非常简单:

HTML

<?php require('common.php'); ?>
<!doctype html>
<html class="no-js" lang="en">
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <title>Ethogram Lab</title>
    <link rel="stylesheet" href="css/foundation.css"/>
    <link rel="stylesheet" href="css/foundation-icons.css"/>
    <link rel="stylesheet" href="css/app.css"/>
    <script src="js/vendor/modernizr.js"></script>
</head>

<body>

<div id="slide-content">
    <div class="slide">
        <div class="row">
            <div class="row">
                 <!---- content ---->
            </div>
            <div class="row">
                <div class="small-4 small-centered columns">
                    <h2 data-link="slide_0" class="medium button expand text-center pagenav">Start &nbsp;&nbsp;&nbsp;<i class="fi-play"></i></h2>
                    </div>
                </div>
            </div>
        </div>
    </div>

</div>
<script src='js/vendor/jquery.js'></script>
<script src='js/foundation.min.js'></script>
<script>
    $(document).foundation();
</script>
<script src='js/app.js'></script>

</body>
</html>
应使用“.on()”函数。“.live()”已弃用

你应该使用

$("body").on ("click",".pagenav",function(){
    // Your code go here
})
此函数将检测以编程方式创建的项目 见

非常正确,tyvm.)我知道它很小很简单。。。称之为麻烦解决者的街区,哈哈。再次感谢。仅供参考,您可以使用$(this.data('link')获取数据链接属性。
$("body").on("click", ".pagenav", function() {
    // do something
});
$("body").on ("click",".pagenav",function(){
    // Your code go here
})