这行得通。
$(document).ready(function(){
$(".items article").click(function(){
window.location=$(this).find("a").attr("href");
return false;
});
});
但是,当用户在同一页面上通过 ajax 导航到其他记录时,我们得到了令人讨厌的刷新。(并不比我对这种情况如何发生的无知更令人恼火)。
如果我将代码更改为使用委托:
$(document).ready(function(){
$(".items article").delegate('click', function(){
window.location=$(this).find("a").attr("href");
return false;
});
});
我仍然得到了令人讨厌的刷新。
如果我将其更改为 live,我将得到它而没有刷新。
$(document).ready(function(){
$(".items article").live('click', function(){
window.location=$(this).find("a").attr("href");
return false;
});
});
我在stackoverflow上读到我们应该使用delegate而不是live,但是在这种情况下,live似乎可以完成这项工作,而delegate却没有。或者,我用错了吗?
更新: 因此,通过使用与上述相同的示例,使用on :
$(document).ready(function(){
$('#morespecifcelement').on('click','.items article', function() {
window.location=$(this).find("a").attr("href"); return false;
});
});
我仍然刷新了页面。
请指教,