我想在cycle plugin
.live()
附加一个jquery div element
与$("div").cycle();
,menas:
目前我在做:
$("div").live("which event ?", function() { $(this).cycle(); });
但我想这样做:
{{1}}
我该怎么做?
答案 0 :(得分:2)
您想自动触发事件吗? 如果是,这就是解决方案:
将自定义处理程序应用于元素:
$("div").live("yourEvent", function() { $(this).cycle(); });
然后你可以用trigger() - function:
激活这个事件$("div").trigger("yourEvent");
答案 1 :(得分:1)
不幸的是,没有好方法绑定到惊喜的项目,我在这里事件。相反,像.live
(或.on
这样的方法,因为前者已被弃用)对于鼠标和键盘事件(一般来说)更有用。
自动将插件应用于所有div.cycleMe
元素的最佳方法是将该逻辑放在函数的callbak方法中,将这些新元素加载到页面中。例如,如果您有$.ajax
的实例提取了新数据:
$.ajax({
url: "/getSlider",
success: function( data ) {
$("#sliders")
.append(data).find("div.cycleMe:not(.active)")
.addClass("active").cycle();
}
});
将滑块加载到#sliders
后,执行回调函数。它找到没有.cycleMe
类的所有.active
个元素,添加该类,然后针对它们调用.cycle()
方法。这里的.active
类是为了确保我们不再在以前加载的滑块上调用循环方法。
答案 2 :(得分:0)
首先,.live()
已弃用。建议您使用.delegate()
表示较旧的jQuery,.on()
表示版本1.7 +
如果您要将插件加载到动态元素,为什么不在元素加载时附加它们?
示例:
$.get(url,data,function(html){
$(html) //wrap with jQuery
.appendTo(somewhere) //add somewhere
.cycle(html); //add cycle
});
答案 3 :(得分:0)
你想做的事是不可能的。在对象上调用jQuery方法与事件不同,因此您无法以“实时”方式执行此操作。