【发布时间】:2012-11-07 04:44:43
【问题描述】:
我在页面上有两个 div:主 div 和辅助,它使用 ajax 加载单独的 html 页面。由单击事件触发的主 div 内的所有链接继续正常工作并引用适当的内容,但此 div 之外的 jquery 都不起作用(例如导航)。
这是我的 jQuery:
var url;
$('.main a').live('click',function() {
url = $(this).attr('href');
$('.secondary').load(url);
return false;
});
谁能帮助我为什么这不起作用?我想我应该触发一个回调事件,但我不知道该怎么做。我知道这个问题已经被问过多次(通常建议使用 .live() 或 .on()),但这些解决方案似乎都不适合我。
编辑:这是一个简短的小提琴:http://jsfiddle.net/snDzF/ 所以login应该是一个toggle bottle,Link 1、2和3加载html在第二个右边的div中。登录切换按钮会一直工作,直到我单击其中一个链接来加载另一个页面。
【问题讨论】:
-
请发布你所有的剧本,酷吗?
-
如果可能的话,您能否在您的代码中粘贴 jsfiddle.net 链接
-
请停止使用
.live()- 出于许多(主要是性能)原因,首选通过.on()进行委托。阅读更多:bitovi.com/blog/2011/04/… 或 andismith.com/blog/2011/11/on-and-off -
@VIDesignz
.on()是自 jQuery 1.7+ 以来的首选方式,.delegate()自 jQuery 1.4.3+ 以来是首选方式 在此处阅读文档 api.jquery.com/live -
我记得我遇到了同样的问题。我在我的主页上加载 jQuery,并将其导入到我加载到 div 的页面上。它导致我的页面中断,因此我删除了辅助页面上的导入并解决了问题