Javascript 让锚定标记在单击时不触发
我正在使用jQueryAjax获取数据。我希望在代码中包含所有锚定标记,如果有人单击标记,它不会触发并调用Ajax。下面是我的代码,但它不起作用Javascript 让锚定标记在单击时不触发,javascript,jquery,Javascript,Jquery,我正在使用jQueryAjax获取数据。我希望在代码中包含所有锚定标记,如果有人单击标记,它不会触发并调用Ajax。下面是我的代码,但它不起作用 $('.one_item a').each(function(){ $(this).live('click', function(){ alert($(this).attr('href')); return false; }); }); 我使用的是JQuery版本1.5,因此.live应该可以工作。有什
$('.one_item a').each(function(){
$(this).live('click', function(){
alert($(this).attr('href'));
return false;
});
});
我使用的是JQuery版本1.5,因此.live应该可以工作。有什么想法吗?干杯。您可以直接在选择器上使用.live()
:
$('.one_item a').live('click', function(e) {
e.preventDefault();
alert($(this).attr('href'));
});
它应该会起作用
但是,它不断迭代警报($(this.attr('href'))代码>。如何使其仅在我单击的项目上启动
确保您没有在其他地方触发click()
事件循环,例如:
$('.one_item a').each(function() {
$(this).click();
// other stuff
});
您可以直接在选择器上使用.live()
:
$('.one_item a').live('click', function(e) {
e.preventDefault();
alert($(this).attr('href'));
});
它应该会起作用
但是,它不断迭代警报($(this.attr('href'))代码>。如何使其仅在我单击的项目上启动
确保您没有在其他地方触发click()
事件循环,例如:
$('.one_item a').each(function() {
$(this).click();
// other stuff
});
.live
必须应用于选择器。当您使用.each()
时,您无法获得处理动态添加的元素上的事件的好处,因为您只是在循环运行时找到的元素上进行迭代
$('.one_item a').live('click', function(){
alert($(this).attr('href'));
return false;
});
.live
必须应用于选择器。当您使用.each()
时,您无法获得处理动态添加的元素上的事件的好处,因为您只是在循环运行时找到的元素上进行迭代
$('.one_item a').live('click', function(){
alert($(this).attr('href'));
return false;
});
这些是动态添加的吗?如果是,则必须将.live
应用于选择器,而不是特定元素。能否显示HTML
?什么是“它不工作”?你的意思是警告的href是错误的吗?或者锚跳没有被阻止?或者什么都没有发生?您是否忘记了DOM就绪
处理程序?这些是动态添加的?如果是,则必须将.live
应用于选择器,而不是特定元素。能否显示HTML
?什么是“它不工作”?你的意思是警告的href是错误的吗?或者锚跳没有被阻止?或者什么都没发生?你忘了DOM Ready
处理程序了吗?。在
上,直到jQuery 1.7才添加,他使用的是1.5。@Barmar是的,错过了,修复了。嗨,Thx。我设法让它工作使用。单击。但是,它会不断迭代警报$(this.attr('href')。我怎样才能让它只在我点击的项目上启动?嗨,Barmar,我刚刚试过你的代码。仍然有相同的问题。.on
直到jQuery1.7才添加,他使用的是1.5。@Barmar是的,错过了,修复了。嗨,Thx。我设法让它工作使用。单击。但是,它会不断迭代警报$(this.attr('href')。我怎样才能让它只在我点击的项目上启动?嗨,Barmar,我刚刚试过你的代码。仍然有同样的问题。嗨,谢谢你的回复。它仍在不断迭代警报$(this.attr('href')。大约有20个项目具有相同的结构。()我怎样才能让它只在我点击的项目上启动?对不起,巴玛。它起作用了。它会迭代,因为我在循环中调用了函数。我真丢脸!!!您好,谢谢您的回复。它仍在不断迭代警报$(this.attr('href')。大约有20个项目具有相同的结构。()我怎样才能让它只在我点击的项目上启动?对不起,巴玛。它起作用了。它会迭代,因为我在循环中调用了函数。我真丢脸!!!