- jQuery replaceWith替换div导致重新加载

  显示原文与译文双语对照的内容

我使用 jQuery replaceWith来替换一个可见的<div> 。 但是由于某些原因,当我单击链接启动replaceWith时,页面重新加载并导致原始 <div> 再次出现。 以下是我的jQuery:


$(function(){


 $("a#startSlide").click(function () {


 $('div#leftText').replaceWith('div#slide');


 });


});



为什么替换分区后重新加载?

时间: 原作者:

你需要取消该事件,因为锚点击的默认事件是更改窗口位置:


$(function(){


 $("a#startSlide").click(function (event) {


 event.preventDefault();


 $('div#leftText').replaceWith('div#slide');


 });


});



原作者:

你的<a> 标签大概有一个 href="#" 。 单击时重新加载页面。

绑定事件处理程序时,需要取消默认行为:


$(function() {


 $('a#startSlide').click(function() {


 $('div#leftText').replaceWith('div#slide');



 return false;


//equivalent to:


//e.preventDefault();


//e.stopPropagation();


 });


});



或者,你可以将 <a> 标记更改为 href="javascript:void()"

原作者:

你需要 return false 或者 preventDefault() 。


$(function(){


 $("a#startSlide").click(function (e) {


 e.preventDefault();


 e.stopPropagation();


 $('div#leftText').replaceWith('div#slide');


 });


});



或者


$(function(){


 $("a#startSlide").click(function (e) {


 $('div#leftText').replaceWith('div#slide');


 return false;


 });


});



原作者:
...