Javascript 加载包含相同jquery脚本的jquery脚本的页面
更新: 我试图更好地解释我的情况:(对不起,我很难用英语解释) 我有mainpage.asp包含10个div。 页面加载jquery并加载myfunction.js,其中document.ready中声明了以下函数:Javascript 加载包含相同jquery脚本的jquery脚本的页面,javascript,jquery,Javascript,Jquery,更新: 我试图更好地解释我的情况:(对不起,我很难用英语解释) 我有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-bt
// 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>
这很好。每次单击loadmore按钮,我都会显示10个新的div
那么,有什么问题?问题出现在loadmore.asp页面中。我不知道如何让新添加的10个div使用主页中声明的切换函数
- 如果在loadmore.asp中我加载jquery和myfunction.js,则切换函数可以工作,但一次单击就会触发两次(框会立即打开和关闭)。我想原因是我加载了两次切换函数(在loadmore.asp的mainpage.asp中)
- 如果在loadmore.asp中我没有加载/包含jquery和myfunction.js,那么toogle函数在新的10个div上根本不起作用
谢谢我必须添加$(“a.toggle-fx”)。单击功能在$(文档)中.ready.you can's appnend the Html/dom?也在上面的问题中。乍一看,toggleClass和SlideToggle似乎具有相同的功能。您的问题不太清楚到底发生了什么,可能提供了更多的代码。但我认为您应该阅读
event.stopPropagation()
这可能会解决这个问题。我更新了这个问题,希望问题更清楚。@Shobhit Walia:toggleclass只会更改按钮的外观(打开/关闭)。单击事件处理程序不会绑定到AJAX加载的内容,因为它们在页面首次加载时不存在。您需要使用()要将事件处理程序绑定到动态添加的元素,这意味着必须重写事件处理程序在myfunction.js中的绑定方式。
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
}