是否可以在 ajax 调用后重新初始化 jQuery 的所有插件
is it possible to re-initialize all-plugins for jQuery after ajax call?
如果我收到使用 $.post(...)
、$.get(...) 或其他东西的 ajax 响应。
收到的响应是一个HTML格式的文档,包括jQuery插件。
我知道jQuery插件需要在ajax响应后重新初始化。像这样的东西
$.get('<ajaxurl>').done(function(response){
$('#some_element').html(response);
$('#element1_in_some_element').init_plug_in_1();
$('#element2_in_some_element').init_plug_in_2();
$('#element3_in_some_element').init_plug_in_3();
$('#element4_in_some_element').init_plug_in_4();
....
});
但是是否可以在 ajax 调用后重新初始化所有插件?
喜欢这个
$.get('<ajaxurl>').done(function(response){
$('#some_element1').html(response);
$('#some_element1').init_plug_in_all();
});
!!
如果您绑定到文档,它应该允许您在页面上动态添加自动应用插件的元素。
例如
$('.datePickers').datepicker();
只会在文档加载时触发,任何带有"datePickers"类的 NEW 元素都不会有可用的功能。
但是如果你像这样附着...
$(document).on('load','.datePickers', function() {
$(this).datepicker();
});
它将应用于具有datePickers类的所有元素,甚至是通过AJAX添加的元素。
如果你创建一个函数来初始化插件,你可以在 ajax 调用结束时调用该函数来重新初始化所有插件。这没有什么标准,完全取决于您的插件和初始化器。考虑这样的事情:
var initializePlugins = function() {
$('selector').datepicker();
$('selector2').fullcalendar();
$('selector3').jScrollPane();
};
// when ajax done
$.ajax().done(function() {
initializePlugins();
});
// when the DOM is ready
$(document).ready(function() {
initializePlugins();
});
如果你想要$('#some_element1').init_plug_in_all();
那么你可以写一个插件。
$.fn.init_plug_in_all = function(plug_1, plug_2, plug_3, plug_4){
this.each(function() {
plug_1 && $(this).init_plug_in_1();
plug_2 && $(this).init_plug_in_2();
plug_3 && $(this).init_plug_in_3();
plug_4 && $(this).init_plug_in_4();
});
};
然后像这样使用:-
$('#some_element1').init_plug_in_all(true, false, false, true);
$('.some_class').init_plug_in_all(false, false, true, true);
//etc
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 在XMLHttpRequest之后重新初始化jQuery
- jquery数据表在初始化时设置宽度
- 为什么我不能在jQuery中初始化我的变量
- 通过删除其相关的 DOM 存在来重新初始化 jQuery 插件
- jQuery 对象初始化
- 在jQuery Mobile中使用pageInit()初始化代码
- 一个jquery初始化中有多个类
- JQUERY对话框未捕获错误:初始化之前无法调用对话框上的方法
- jQuery Slider在jQuery弹出窗口中只初始化一次
- 如何在初始化jQuery.ajax成功函数后覆盖它
- 我的菜单是't切换“;全屏”;使用jQuery正确地初始化
- 使用jQuery.when时进行了奇怪的变量初始化
- Jquery 初始化混淆
- 当存在角度时,Kendo UI 网格无法从 jquery 初始化 - 抛出“undefined 不是函数”
- 了解 jQuery 初始化
- 在jQuery初始化之前进行条件DOM检查的性能
- jQuery初始化JavaScript动作
- 像Facebook一样的按钮在使用jQuery初始化时不起作用
- 使用jquery初始化自定义事件