单个文件中的Javascript函数导致冲突
我将所有JavaScript函数都放在一个名为site.js的文件中 该文件在我的主布局页面的底部声明,以便更快地加载 但是,我注意到,除非我在文件中切换它们的顺序,否则我的一些函数无法工作。例如,以下两个函数的顺序会阻止datetimepicker小部件工作单个文件中的Javascript函数导致冲突,javascript,jquery,Javascript,Jquery,我将所有JavaScript函数都放在一个名为site.js的文件中 该文件在我的主布局页面的底部声明,以便更快地加载 但是,我注意到,除非我在文件中切换它们的顺序,否则我的一些函数无法工作。例如,以下两个函数的顺序会阻止datetimepicker小部件工作 $(function() { $(".js-multi-select").select2(); }); $(function () { $('#start_dt').datetimepicker({ showToday
$(function() {
$(".js-multi-select").select2();
});
$(function () {
$('#start_dt').datetimepicker({
showTodayButton: true,
format: 'D MMM YYYY HH:mm',
defaultDate: moment().hours(0).minute(0)
});
});
如果我切换顺序并将datetimepicker函数置于select2功能之前,那么它似乎可以工作
$(function () {
$('#start_dt').datetimepicker({
showTodayButton: true,
format: 'D MMM YYYY HH:mm',
defaultDate: moment().hours(0).minute(0)
});
});
$(function() {
$(".js-multi-select").select2();
});
注意,我有datetimepicker字段的页面没有select2下拉列表字段,我有select2下拉列表的页面并不总是有datetimepicker字段。我不希望每个函数都有十几个javascript文件,这就是为什么我把它们都放在一个文件中的原因
为什么上面的函数会以这种方式运行?有什么修复方法可以使它们在不考虑声明顺序的情况下工作。只需删除第二个doc.ready函数,并将代码放入第一个函数中即可
$(function () {
$('#start_dt').datetimepicker({
showTodayButton: true,
format: 'D MMM YYYY HH:mm',
defaultDate: moment().hours(0).minute(0)
});
$(".js-multi-select").select2();
});
只需删除第二个doc.ready函数,并将代码放入第一个函数中
$(function () {
$('#start_dt').datetimepicker({
showTodayButton: true,
format: 'D MMM YYYY HH:mm',
defaultDate: moment().hours(0).minute(0)
});
$(".js-multi-select").select2();
});
你有可能会遇到别的事情
因为在上面的页面中,我尝试将类js-example-basic-single重命名为js-example-basic-single1,以便select2的选择器为空。select2调用不会产生js错误
第二,我重新安排了通话顺序,但一切都如期进行
因此,它应该是另外的东西
你有可能会遇到别的事情
因为在上面的页面中,我尝试将类js-example-basic-single重命名为js-example-basic-single1,以便select2的选择器为空。select2调用不会产生js错误
第二,我重新安排了通话顺序,但一切都如期进行
因此,它应该是另外的东西 控制台中有错误吗?我们可能需要更多的信息,比如JS控制台中出现的任何不起作用的页面,等等。我猜select2出错了。js控制台中有什么?为什么要定义$function{}两次?尝试添加$.js-multi-select.select2;在日期时间选择器之后function@DavidLaberge这可能是一个好主意,除非在JS构建步骤中连接文件,但不应该导致问题。控制台中是否有错误?我们可能需要更多信息,就像JS控制台中不起作用的页面上的任何信息一样,等等,我猜select2出错了。js控制台中有什么?为什么要定义$function{}两次?尝试添加$.js-multi-select.select2;在日期时间选择器之后function@DavidLaberge这可能是一个好主意,除非在JS构建步骤中连接文件,但不应该导致问题。控制台中是否有错误?我们可能需要更多信息,就像JS控制台中不起作用的页面上的任何信息一样,等等,我猜select2出错了。js控制台中有什么?为什么要定义$function{}两次?尝试添加$.js-multi-select.select2;在日期时间选择器之后function@DavidLaberge这可能是一个好主意,除非在JS构建步骤中连接文件,但不应该导致问题;可以有多个没有问题的$function{…},这是无关的;可以有多个没有问题的$function{…},这是无关的;可以有多个$function{…}没有问题。我使用的datetimepicker是引导datetimepicker,问题是datetimepicker字段未选择2。我使用的datetimepicker是引导datetimepicker,问题是datetimepicker字段未选择2。我使用的datetimepicker是引导datetimepicker,问题是datetimepicker字段未选择2。