javascript - 在初始化引导日期选择器后调用noConflict()吗?

我正在尝试将noConflict()与引导日期选择器一起使用,以避免与其他jquery插件冲突。

引导datepicker文档说:

$.fn.datepicker.noConflict provides a way to avoid conflict with other jQuery datepicker plugins:

var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value
$.fn.bootstrapDP = datepicker;                 // give $().bootstrapDP the bootstrap-datepicker functionality


但这对我不起作用,因为我在日期范围内使用它。代码的作者具有this to say


  糟糕!日期范围代码本身调用.datepicker,所以您是对的,
  与noConflict结合使用时会损坏。
  
  现在,我建议在初始化范围后调用noConflict
  选择器。


但是我该怎么做呢?

我尝试了这个:

$('#bookingform .input-daterange').datepicker({
    ...options excluded for brevity...
});
datepicker = $.fn.datepicker.noConflict();  


我已经试过了:

$('#bookingform .input-daterange').datepicker({
    ...options excluded for brevity...
}).noConflict();


但是我似乎无法使其正常工作。有人能启发我做错什么(或者最好是我如何做对了)吗?

更新:对于那些问我如何初始化范围选择器的人:

似乎没有专门调用此代码的代码。除了下面的演示代码,它还依赖于bootstrap js。我认为范围方面可能基于类.input-daterange,但我不确定。

这是演示代码:

<div class="input-daterange input-group" id="datepicker">
    <input type="text" class="input-sm form-control" name="start" />
    <span class="input-group-addon">to</span>
    <input type="text" class="input-sm form-control" name="end" />
</div>

$('#sandbox-container .input-daterange').datepicker({
    format: "dd/mm/yyyy"
});


最佳答案:

您的第一次尝试是完全遵循所有者的指示。
这是在src中发生的地方:https://github.com/eternicode/bootstrap-datepicker/blob/master/js/bootstrap-datepicker.js#L1357-L1392

该代码不会执行任何异步操作,因此在下一行调用.noConflict应该可以完成插件所有者建议的操作。

但是,从源头上看,似乎导致您原始问题的任何错误现在都已修复。从DateRangePicker类内不再调用.datepicker。

译文:来源   文章分类: javascript jquery twitter-bootstrap jquery-ui bootstrap-datepicker

相关文章:

javascript - 什么时候不需要“ hasOwnProperty”?

javascript - 使用jQuery修改CSS而不使用ID或类

javascript - javascript setters / getters的用法

javascript - 如何使用Moment.js在几周内获得持续时间?

c# - 如何为ASP.NET TextBox获取正确的ClientID?

javascript - 如何在php中给url一个唯一的ID?

javascript - MongoDB / Mongoose:MarkModified一个嵌套对象

javascript - 如何从字符数组创建3个唯一值

javascript - 刷新页面时保持音频播放

javascript - javascript动画不循环