我正在使用jquery插件,统一,以便在我的表单上我可以有漂亮的单选按钮和文件输入等。
然而,我遇到了一个问题,很多我的表格是通过ajax拉入来的,而且为了让插件工作,它需要知道这些元素存在于dom中。
是否可以使用带有ajax方法的插件?
目前我正在尝试,
$(".uniform input").live().uniform();
这显然不起作用,有什么建议吗?
---负责回调-----
$('#upload').click(function(e) {
$("#content #main").animate({"right": "-900px"}, 'slow', 'linear', function(){
$(this).load('upload.html #main div', '', function(){
$(".uploader input").uniform();
});
});
$("#main").animate({"right": "0px"}, 'slow', 'swing');
e.preventDefault();
});
答案 0 :(得分:1)
再次初始化制服 后,您已使用正常
添加到表单中 $('#forms').append(new_selects_from_ajax);
$("select").uniform();
答案 1 :(得分:1)
回应评论:
.load
只不过是另一种方法中包含的$.ajax
调用。它也有一个回调。
$(target).load("myurl.php",function(){
$("select").uniform();
});
编辑:我刚看到你的编辑。如果这不起作用,请确保使用正确的选择器来获取要应用插件的元素。
答案 2 :(得分:0)
您可以使用livequery plugin,如下所示:
$('.uniform input').livequery(function(){
$(this).uniform();
});
答案 3 :(得分:0)
.live和.delegate之间的区别之一是可链接性。请查看http://brandonaaron.net/blog/2010/03/4/event-delegation-with-jquery以获得对此的好评。在您的情况下,您可能会使用委托。