我正在使用jQuery插件(link)将外部页面拉到我主页上的div中,每个外部页面都包含一个基于jQuery的水平图库滑块。
示例:http://www.iamtimothylong.com/example
您会注意到,当通过AJAX请求加载外部页面时(通过单击“book one”或“book two”),这些外部页面中的水平滑块将停止运行。
但是,如果静态放置在div中,水平滑块确实有效(只是很明显滑块本身不存在问题)。
任何人都知道解决方案/解决方法?一个人说
“在XHR请求完成后,您需要将滑块重新绑定到新元素。在AJAX请求的成功处理程序中,执行mScrollBar()绑定。”
不幸的是,我是一个编程无知的人,我需要用非专业人士的术语来拼写。 :)
AJAX加载器源位于:/js/menu.js
答案 0 :(得分:0)
我想说这是用.live('event')
基本上,当javascript被激活并在加载页面时(或者每当被调用时)附加事件处理程序时,它会将它们附加到当时页面上存在的当前现有元素,因此当您加载新内容时(通过AJAX)这些事件没有附加到刚加载的新内容事件并与选择器匹配。
为了解决这个问题,jQuery有一个.live()
事件,它匹配任何当前存在的DOM元素 AND 以后添加的动态元素。