有没有办法对具有相同设置的自定义控件的javascript进行分组?
例:
我在页面上放了3个自定义控件。每个人写一个像
这样的javascriptucx.initialize( controlID, settings );
所以我得到......
ucx.initialize("txtValue1", { sync: true, mask: '0 km' });
ucx.initialize("txtValue2", { sync: true, mask: '0 km' });
ucx.initialize("txtValue3", { sync: true, mask: '0 mm'});
正如我们所看到的,“txtValue1”和“txtValue2”具有相同的设置。
所以我想把它们分组:
ucx.initialize(["txtValue1", "txtValue2"], { sync: true, mask: '0 km'});
ucx.initialize("txtValue3", { sync: true, mask: '0 mm'});
有可能吗?
答案 0 :(得分:0)
完全取决于initialize
函数的作用。
至少,您可以使用默认的公共设置对象:
var initialize = function (controlID, settings) {
...
settings = settings || { sync: true, mask: '0 km'};
...
};
然后,如果您在未传递设置对象的情况下调用该函数,则默认为常用函数:
ucx.initialize("txtValue1");
ucx.initialize("txtValue2");
ucx.initialize("txtValue3", { sync: true, mask: '0 mm'});
答案 1 :(得分:0)
您可以创建自己的方法,类似地工作:
ucx.initializeMultiple = function() {
var settings = arguments[arguments.length - 1];
for (var i = 0; i < arguments.length - 1; i++) {
ucx.initialize(arguments[i], settings);
}
}
然后,您可以致电:
ucx.initializeMultiple("txtValue1", "txtValue2", { sync: true, mask: '0 km'});
您可以根据需要在参数中放置尽可能多的字段名称。最后一个参数是设置对象。它之前的所有参数都被解释为应该各自获得该设置的字段名称。
请注意,设置不必是内联的。如果不创建这种新方法,您也可以这样做,以避免重复设置:
var settings1 = { sync: true, mask: '0 km'};
ucx.initialize("txtValue1", settings1);
ucx.initialize("txtValue2", settings1);