更新:
我试着更好地解释一下我的情况:(对不起,我用英语解释起来非常困难)。
我的mainpage.asp包含10个div。 页面加载jquery并加载myfunction.js,其中在document.ready中声明了以下函数:
// toggle
$("a.toggle-fx").click(function(){
var x=$(this).attr("id");
$("#x"+x).slideToggle(400);
$(this).toggleClass('toggle-btn-active');
}
);
每个div都是这样的:
<a href="javascript:void(0)" class="toggle-btn toggle-fx" >open info</div>
<div class="toggle-content" id="xtoggle_[id]">
[html content]
</div>
(* [id]对每个div都是univoque)
打开信息链接效果很好:第一次点击打开,第二次点击关闭。
在10个div之后,我有一个按钮&#34; loadomore&#34;调用函数来加载&#34; loadmore.asp&#34;生成其他10个div并将此内容附加到主页上的#moreresults框中,在前10个div下。
function loadmore(pag,pagnum,qcry){
$.ajaxSetup ({cache: false});
$.ajax({
type: "POST",
url: "loadmore.asp",
dataType: "html",
success: function(msg)
{
$("#moreresults").append(msg);
},
error: function()
{
alert("loading failed.");
}
});//ajax
}
这很好。每次点击loadmore按钮,我会显示10个新的div。
那么,问题是什么?问题出在loadmore.asp页面中。我不知道如何让新添加的10个div使用主页面中声明的切换功能。
如果在loadmore.asp中我加载了jquery和myfunction.js,则切换功能可以工作,但只需单击一下就会触发2次(框会立即打开并关闭)。我想原因是我加载了toggle函数2次(在loadmore.asp的mainpage.asp中)
如果在loadmore.asp中我没有加载/包含jquery和myfunction.js,那么toogle功能在新的10个div上根本不起作用。
所以问题是,当我用$ .ajax加载一个新内容并将其附加到主页面时,没有共享jquery函数和我在调用主页面时声明的其他函数。
我的目标是使用$(&#34; a.toggle-fx&#34;)。点击(加载和追加内容中的function()。
感谢