我在选择带课程的元素方面遇到了一些奇怪的问题
在我的情况下,我有这个AJAX查询,返回一些相同类的链接。
当我点击链接时,一个事件应该发生,但事实并非如此。
然后我试着在点击一个类的元素时发出警报,没有任何事情发生,然后我试着制作在同一个页面的页面上的直接链接,现在它给我警报..
怎么了 ? ajax查询检查用户是否在线,并且每1分钟执行一次,该元素具有“朋友”类,我尝试通过此代码调用它:
$('.friend').click(function(){
alert('clicked');
});
ajax请求显示的内容不会发生任何事情。但它会响应直接放到网站上的链接。
答案 0 :(得分:1)
尝试使用live
:
$('.friend').live('live',function(){
alert('clicked');
});
它会将该处理程序附加到存在的项目以及将与该选择器一起存在的项目。
答案 1 :(得分:1)
使用实时功能。它更“可靠”。
$('.friend').live('click', function(){
alert('clicked');
});
答案 2 :(得分:0)
问题是jQuery click
函数仅绑定到运行click
时DOM中的元素。因此,ajax
来电添加的链接会更晚,因此会错过这一点。对于jQuery< 1.7对此类场景使用live
$('.friend').live('click', function(){
alert('clicked');
});
对于jQuery 1.7及更高版本,请使用新的统一on
语法
$(document).on('click', '.friend', function(){
alert('clicked');
});