在javascript初始化时具体化重复项
我一直在我的joomla网站上玩ECS。我有一个T3框架模板(我对web开发非常陌生)。 我遇到的问题是,每当我使用一个需要js初始化的项时,它都会被复制,一个是javascript样式,另一个是css样式。例如,使用选择项或日期选择器时会发生这种情况。我使用这里给出的示例代码: 另一件奇怪的事情是样式没有完全应用,例如输入字段从未应用 多谢各位 编辑: javascript代码:在javascript初始化时具体化重复项,javascript,css,materialize,Javascript,Css,Materialize,我一直在我的joomla网站上玩ECS。我有一个T3框架模板(我对web开发非常陌生)。 我遇到的问题是,每当我使用一个需要js初始化的项时,它都会被复制,一个是javascript样式,另一个是css样式。例如,使用选择项或日期选择器时会发生这种情况。我使用这里给出的示例代码: 另一件奇怪的事情是样式没有完全应用,例如输入字段从未应用 多谢各位 编辑: javascript代码: $(document).ready(function() { $('select').materia
$(document).ready(function() {
$('select').material_select();
});
css:
物化已禁用
选择你的选择
选择1
选择2
选择3
图片:
当我说部分应用了该样式时,我的意思是它看起来不像materializecss网页中所示的那样,它看起来像是被禁用了。您将在第一次加载DOM时或之后获得此副本
因为我认为您初始化了相同的函数
.material\u select()
2次或更多次…我也遇到了同样的问题,这就是我能够修复它的原因,希望它对您有用
a) 将materialize元素的所有初始化放在一个函数中
function initializeMaterialize() {
// initialize materialize slider
$('.slider').slider();
// initialize materialize select
$('select').material_select();
// initialize materialize datepicker
$('.datepicker').pickadate({
selectMonths: true,
selectYears: 20,
onSet: function(ele) { if(ele.select) { this.close(); } },
format: 'mm/dd/yyyy',
formatSubmit: 'yyyy-mm-dd'
});
}
b) 然后调用`$(window.load)(function(){})上的函数
这将只进行一次调用,因此您只能获得每个元素的一份副本。请添加代码或使用小提琴显示问题代码。。。你说这些风格没有完全应用是什么意思?我用更多的信息更新了原来的帖子。谢谢你看起来像一把香草小提琴像预期的那样工作。。。(我添加了两个选择-一个被禁用)。代码中的其他内容是造成重复的原因。。。
function initializeMaterialize() {
// initialize materialize slider
$('.slider').slider();
// initialize materialize select
$('select').material_select();
// initialize materialize datepicker
$('.datepicker').pickadate({
selectMonths: true,
selectYears: 20,
onSet: function(ele) { if(ele.select) { this.close(); } },
format: 'mm/dd/yyyy',
formatSubmit: 'yyyy-mm-dd'
});
}
$(window).load(function() {
initializeMaterialize();
});