我正在使用jQuery工具+ livequery。我有一个有4个元素的水平手风琴。在初始页面加载时,它们是由PHP脚本创建的,所以手风琴的工作效果很好 - 第一个标签打开,所有内容都可以正常滑动。 (就像在这个例子中:http://flowplayer.org/tools/demos/tabs/accordion-horizontal.html)Jquery工具(手风琴/标签)+ LiveQuery
我有一个计时器事件,通过JSON重新加载手风琴元素。一旦发生这种情况 - 标签不会被激活。一旦手风琴重新加载,我一直试图附加一个livequery事件,但我无法弄清楚。
结构是这样的:
<div id="accordion">
<div class="accordion_element>[tab content]</div>
<div class="accordion_element>[tab content]</div>
<div class="accordion_element>[tab content]</div>
<div class="accordion_element>[tab content]</div>
</div>
我通过激活手风琴:
$("#accordion").tabs("#accordion .div_body", {
tabs: '.img_bgr',
effect: 'horizontal'
});
它就像一个魅力 - 第一个选项卡扩展,其它选项卡点击和点击时展开。然后我触发的每一分钟:
$.getJSON("accordion.php", function(json){
$.each(json, function(key, val) {
//-------parse json here and append each accordion_item (I empty the accordion prior)
$('#accordion').append(accordion_item);
});
});
所以在这一点上我有一个美丽的手风琴,但它没有被激活 - 它只是标签。
我如何将livequery事件附加到以下内容中,以便它影响#accordion的所有未来更新?
$("#accordion").tabs("#accordion .div_body", {
tabs: '.img_bgr',
effect: 'horizontal'
});
基本上我需要能够.live(或的liveQuery)分配给.tabs将控制所有的点击等
此页面上 - http://flowplayer.org/tools/demos/tabs/accordion-horizontal.html
想象中的3张图片+暴露的文本被重新加载json和.tabs没有进一步的影响。
这样的(这当然犯规的工作)
$("#accordion").live('.tabs', function(){
"#accordion .div_body", {
tabs: '.img_bgr',
effect: 'horizontal'
};
我在这里有一个答案 - 但它消失了..不知道如果我这样做 - 如果我 - - 我很抱歉。回应> .tabs是jQuery工具自带的一个函数,它可以处理所有的点击和事件。所以在上面的函数中,$(“#element_that_contains_tabs”)。选项卡(#element将作为触发器被公开点击%,{tabs:%trigger%,effect} 如果我指派实时点击.class - >它会多次触发并且使用.tabs混乱,所以我在页面上遍布所有内容=)我试图将它分配给#unique_id,但是我正在重新发明函数。 – vroomer 2011-03-13 21:28:55