JQuery 事件绑定
我正在从数据库加载一些 html(使用 ajax post 请求),它看起来像:
<div id="slides_control">
<div>
<a href="#"></a>
</div>
</div>
使用 html,我还加载 JS 代码:
<script>
$('#slides_control a').bind('click', function() {
alert('achtung');
});
</script>
脚本紧随 html 之后(在接收到的数据中)。
但是当我单击新 html 中的某个链接时,我没有看到警报。怎么了?
我还尝试在ajax结束后绑定它:
$.post('page.php', {}, function(data) {
document.write(data);
$('#slides_control a').bind('click', function() {
alert('achtung');
});
});
没有帮助我。
I'm loading from DB some html (using ajax post request), it looks like:
<div id="slides_control">
<div>
<a href="#"></a>
</div>
</div>
With html I also load JS-code:
<script>
$('#slides_control a').bind('click', function() {
alert('achtung');
});
</script>
Script goes right after the html (in received data).
But when I click at some link inside new html, I don't see the alert. What's wrong?
I also tried to bind it after ajax ended:
$.post('page.php', {}, function(data) {
document.write(data);
$('#slides_control a').bind('click', function() {
alert('achtung');
});
});
Didn't help me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
加载数据时执行此脚本。您正在加载数据之前执行此脚本。
execute this script when data is loaded. You are executing this script before data is loaded.
您可能在加载 html 之前运行绑定函数,因此它找不到元素
所以,将您的代码在 dom 加载上运行:
You probably running bind function before your html has been loaded, so it does not find element
So, put your code to run on dom load:
尝试包装 jQuery 调用:
Try wrapping the jQuery call: