当在div中点击具有特定类的锚标记时,我很难提出警告。
我的html部分看起来像这样......
<div id="foo">
<a class='bar' href='#'>Next</a>
</div>
jQuery部分如下..
$('.bar').click(function()
{
alert("CLICKED");
});
我的问题是我无法得到这个警报,我认为我正在选择“下一个”课程,但由于某些原因它不会接受它。我也尝试过这个page几乎所有东西,但没有任何效果。如果我不尝试指定锚标记,即$('#foo')。单击(function()...然后它可以工作,但是这个div中会有多个锚标记,所以只需在执行时执行警报单击div将不能满足我的需要。这个网站是一个搜索引擎,使用ajax将信息发送到do_search.php。在do_search.php中,我根据找到的结果做出分页决定,并且如果适用,可以制作并回显下一个,上一个,最后一个和第一个链接。
编辑:我刚想通了,它是我的.next函数的位置,因为它不是在初始文档加载时创建的,而是在返回结果后,我将.next函数移动到成功ajax函数的一部分,因为这是按钮将被创建的地方,现在它可以工作。答案 0 :(得分:32)
尝试使用live()
命令:
$(".bar").live("click", function(){ alert(); });
因为你通过AJAX加载你的按钮,所以点击事件没有绑定到它。如果使用live()命令,它将自动将事件绑定到页面加载后创建的所有元素。
更多详情,here
答案 1 :(得分:7)
你肯定错过了$(document).ready()
。你的代码应该是:
$(document).ready(function(){
$('.bar').click(function()
{
alert("CLICKED");
});
});
希望这会有所帮助。干杯
答案 2 :(得分:5)
.live现已弃用,是此选定的答案。答案在上面选定答案的评论中。这是解决它的解决方案:
$(document).on('click','.bar', function() { alert(); });
感谢@Blazemonger的修复。
答案 3 :(得分:1)
JQuery Library
。$(document).ready() in short $(function(){ });
演示:http://jsfiddle.net/W9PXG/1/
<div id="foo">
<a class='bar' href='#'>Next</a>
</div>
$(function(){
$('a.bar').click(function()
{
alert("CLICKED");
});
});