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 <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
})