今天有个童鞋问我,我frm中画布的背景颜色怎么修改啊,我第一反应就是把画布的样式改为自定义,然后去修改啊。
但是我打开设计器发现画布是没有这个东西的。
于是我想到来个css样式呗
然后我就在页面上用F12获取到画布的class
根据css创建了样式
- .fr-absolutelayout ui-state-enabled {
- background-color: yellow;
- }
复制代码 比如这样,引用了之后发现没有用,后来发现我ui-state-enabled前面忘了加点。
- .fr-absolutelayout .ui-state-enabled {
- background-color: yellow;
- }
复制代码 这样才可以!!!
所以童鞋们以后有累死的class一定要记得 加点 要不会浪费好久的时间。
引用了之后发现页面上所有的画布都改了颜色,我擦这个可不是我想要的。
修改css吧,但是看了看由于技术的问题吧,不会修改了。
琢磨就算了改为引用js吧。
- window.onload = function(){
- //里面的东西我删了
- };
复制代码
写了几个加载结束的事件,运行的时候发现,我的这个js是在页面开始加载就运行的。
里面要获取对象都没有加载出来。这给我郁闷的。在设计器里找啊,就是找不到在哪里才能添加加载结束的事件。
画布的空间有个初始化的事件,我在那个里面也试了,在画布刚开始初始化的时候 就执行了里面的js,后面的对象还是没有获取到。
后来还是想到以前客服小哥给我写过一个添加行获取焦点的模板,里面的事件是加了延迟的,我开始还一直不知道为啥加延迟,也没有当时问他。
我就抱着试试的态度,在我写的js前面加了延时。
- setTimeout(
- function(){
- $("div[widgetname='ABSOLUTE0_C']").each(function(index,item){
- $(item).css("background-color","yellow");
- });
- },20);
复制代码 然后写在画布的初始化事件上,点击预览,宾果!
成功了。
通过这一上午的研究,发现在控件初始化事件里的js加上延时就可以实现这个控件加载结束的事件
这个对于以后做大屏或者别的展示还是比较有用的,可以自己来修改想要的样式,更灵活
|