1.由于工作需要,需要自己在一个dojo小部件中写一个垂直滚动条,但是发现在我拖动自定义的滑块进行滑动的时候,发现容易选中周围的一些文本,使得被选中的文本变为蓝色,很影响效果,后来发现在div上加上onselectstart="return false"即可,如果还有可能选中body中其他部分的文字,那么就在body上添加此语句即可,这样在鼠标左键按下拖拽的过程中不会选中文本。

2.dojo.toJson()与dojo.fromJson()在名字上容易给人歧义,其实dojo.toJson()应该改名为dojo.toJsonString()最好,就是将一个Json的Object对象转换为相应的字符串;dojo.fromJson()应该改名为dojo.fromJsonString()最好,就是讲一个字符串转换为Json的Object对象。可以通过dojo.toJson()和dojo.fromJson()实现对象之间的深拷贝,很实用的功能。

dojo.toJson({age:1});得到"{"age":1}"
dojo.fromJson(dojo.toJson({age:1}))输出如下信息:
Object
age: 1
__proto__: Object

3.用dojo.addOnUnload在页面关闭之前调用。

4.判断某个变量是不是数组的代码:

isArray:function(o) {return Object.prototype.toString.call(o) === '[object Array]';}

5.dojo小部件的销毁:
destroy:销毁所有的小部件条目(不包括子小部件)。
destroyRecursive:销毁小部件条目及子小部件。如果小部件包含有内部小部件,那么必须调用此方法。

详见:http://www.ibm.com/developerworks/cn/web/wa-aj-dojotool/

6.如果只设置背景的颜色,尽量不要直接使用background,最好用background-color,这样不会覆盖background-image等其他设置信息。

7.ArcGIS JS API实现具有缓存功能的书签:

window.localStorage.setItem("山东省",dojo.toJson(map.extent.toJson()));//将范围信息以字符串的形式保存到localStorage中
map.setExtent(new esri.geometry.Extent(dojo.fromJson(window.localStorage.getItem("山东省"))));//根据localStorage中保存的范围字符串信息生成Extent对象

8.实现可拖动的dojo小部件:

new dojo.dnd.Moveable(this.domNode,{handle:this.head});

9.for in是用来遍历对象中的属性的,不要用来遍历数组。假设一个数组有三个元素,那么如果用for in进行遍历,会遍历四次,最后一次的元素是一个“constructor”对象,所以遍历数组不能用for in。

10.ctrl+alt+l在WebStorm中格式化js、html、css文件

11. <div style="background:url('../images/btn_menu.jpg')"></div>如果不设置div宽高,那么不可见
<img src="../images/btn_menu.jpg" />则没问题,不用设置宽高也可以

12.通过js代码控制innerHTML实现重dom节点刷新:

var html = dom.innerHTML;
dom.innerHTML = ""; //dojo.empty(dom);
dom.innerHTML = html;

12.在dojo小部件开发中,不要在模板文件中使用名字为title的dojoAttachPoint,如果存在名为title的dojoAttachPoint,那么在解析的时候会与浏览器dom本身的title属性相冲突,导致将鼠标放在小部件上时,显示提示信息[HTML DOM...]之类的。

13.必须设置了width后,margin-left:auto和margin-right:auto才能起到居中的作用。

14.用SVN进行代码管理,每个文件夹下都有一个隐藏的名为.svn的文件夹,有时候不能提交,可以先备份,然后把相应的.svn文件夹删除然后提交。给别人传东西的时候把目录下的隐藏的.svn文件夹删掉,否则会暴露出svn服务器的信息。

15.div高度不设置,那么设置margin-top、margin-bottom不起作用

16.用dojo.dnd.Moveable实现div拖动

 new dojo.dnd.Moveable("drag", { handle: "drag_handle" });

17.自己写了个dojo小部件BookMark,代码如下:

var bookMark = new gistech.widgets.bookMark.BookMark({map:map});
 之后立即去获取bookMark.domNode的clientWidth和clintHeight都是0,后来将其domNode的设置为overflow:hidden,然后再获取,发现还是0,
 后来发现必须将其插入到dojo.body()中才能获取可见数值。

18.ArcGIS JS API 2.8中,可以通过esri.geometry.geographicToWebMercator(geometry)在客户端将经纬度转换为1984 WebMercator投影坐标系。

19.clientHeight与height不一样,那么clientHeight = borderTop+paddingTop+height+paddingBottom+borderBottom,注意,不包括margin

20.dojo.style(setStudyArea.domNode, "position", "absolute");//注意是对domNode操作style,而不是对小部件直接操作style

21.在用dojo.style读取height、marginTop、paddingTop之类的和数字相关的style时,返回值是数字,不包括“px”;用dojo.style设置height、marginTop、paddingTop之类的和数字相关的style时,将“10px”这样作为参数进行传递,不能只是数字,需要包括“px”。

dojo.style(dojo.byId("slideBlockContainer"),"top")
10
dojo.style(dojo.byId("slideBlockContainer"),"top","30px")
"30px"

22.

dojo.style(this.contentBody,"height","auto");
"auto"
dojo.style(this.contentBody,"height");
521
this.contentBody.style.height
"auto"
this.contentBody.clientHeight
521

如果当前设置的height为auto,那么用dojo.style方式取出的height为clientHeight,是一个具体数字,用dom.style.height取出的为auto,
如果想获取原生的高度信息,先保存,然后再还原回去的话,应避免用dojo.style进行存取,而应该用后者进行。

23.<div class="slideBlockContainer" οnclick="onMouseDown(event)"> 要有括号,括号里必须写event,如果没写参数或者参数写的不是event(比如写了evt),那么也无法传递事件参数。

24.想获取borderTop的宽度,用dojo.style(this.content,"borderTop")获取,结果得到"3px solid rgb(0, 58, 106)",然后分别用js原生方式和dojo.style方式去获取borderTopWidth的值,结果如下:

this.content.style.borderTopWidth
""
dojo.style(LMC.content,"borderTopWidth")
3

发现原生方式返回“”,而dojo.style能够返回正确的结果。

25.dojo小部件开发过程中,有时候需要动态创建一些复杂的dom节点,此时可以使用dojo.create("div",{innerHTML:"Some InerHTML",className:"someClass",style:{}}),但是如果要创建的dom节点非常复杂,那么dojo.create中innerHTML的字符串就很长,而且要弄成一行的形式,很长也很麻烦,也不便于后期修改。如果遇到这样的情况,可以将innerHTML的dom节点写到一个单独的html页面中,然后利用dojo.cache("模块名","模板文件名")的方式获取innerHTML,这样以后我们在修改的时候直接对那个模板中的html页面做修改就可以了。

2012年10月第3周(10.15-10.21)相关推荐

  1. 10月第2周.ORG总量TOP10:中国增1701个 涨幅最大

    IDC评述网(idcps.com)10月22日报道:根据WebHosting.info公布的最新数据显示,在10月第2周,美国的.ORG域名总量有6,241,234个,净减4,304个,降幅依然在十强 ...

  2. 10月第1周中国.COM域名增1万个 涨幅环比缩小82%

    IDC评述网(idcps.com)10月14日报道:根据WebHosting.info公布的最新数据显示,在10月第1周,中国的.COM域名总量升至7,700,413个,净增10,788个,环比上周, ...

  3. 10月第3周网络安全报告:新增信息安全漏洞308个

    IDC评述网(idcps.com)10月27日报道:根据CNCERT抽样监测结果和国家信息安全漏洞共享平台(CNVD)发布的数据得悉,在10月第3周(2014-10-13至2014-10-19)期间, ...

  4. 10月第3周全球域名商新增注册量TOP15:万网亚军

    IDC评述网(idcps.com)10月27日报道:根据RegistrarStats公布的实时数据显示,在10月第3周(2015-10-15至2015-10-21),全球域名新增注册量十五强比拼中,易 ...

  5. 链塔智库|区块链产业要闻及动态周报(2020年10月第2周)

    链塔智库整理最近一周内区块链相关政策.业内动态.人物观点,为大家梳理呈现各个领域的最新发展. 目录 一.各地政策要闻 ●山东省将运用区块链等技术嫁接提升货运物流业 ●"深圳改革试点授权清单& ...

  6. 10月第1周安全回顾 微软下周发补丁包 小型僵尸网络增多

    本文同时发表在:[url]http://netsecurity.51cto.com/art/200710/57550.htm[/url] 上周(1001至1007)天气晴好,大家应该都过了一个快乐的长 ...

  7. 10月第3周业务风控关注|网络安全威胁信息格式规范正式发布

    易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1 网络安全威胁信息格式规范正式 ...

  8. 10月第2周业务风控关注|内容安全惹的祸?子弹短信和斗鱼APP同一天下架

    易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1.内容安全惹的祸?子弹短信和斗 ...

  9. 10月第4周业务风控关注|多部门联合调查教育类App:重点排查游戏、打赏等内容

    易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1.多部门联合调查教育类App: ...

  10. 10月第4周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

    飞瓜轻数发布2022年10月24日-10月30日飞瓜数据UP主排行榜(B站平台),通过充电数.涨粉数.成长指数三个维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况 ...

最新文章

  1. TabLayout 遇到那些坑 tab标签不显示问题
  2. Docker介绍与安装使用(一)
  3. vue --- vue中的几个钩子属性
  4. cv::mat 颜色空间_网站设计基础:负空间
  5. C# 开源一个基于 yarp 的 API 网关 Demo,支持绑定 Kubernetes Service
  6. Aho-Corasick automaton 模板
  7. java游戏服务器面试_我做游戏开发这八年
  8. meshgrid 的使用方法
  9. 钉钉开发系列(一)access_token的获取
  10. 使用计算机SN号匹配对应的计算机名 作为计算机名字的一个小脚本 win10可用
  11. 为串的模式匹配。模式匹
  12. python爬取58同城租房信息_分页爬取58同城租房信息.py
  13. 用HTML+js实现求圆的面积和周长
  14. 特斯拉如何恢复出厂设置_iphone如何恢复手机出厂设置
  15. lsdyna如何设置set中的node_list_为 Windows PowerShell 设置 User Alias (命令别名)
  16. 如何设计一个高并发的存储系统
  17. AS/400 初级培训课程
  18. 手机浏览器的出路 App化能否拯救其未来?
  19. Web学习的亿点细节---亿点点୧(๑•̀⌄•́๑)૭碉堡了
  20. 小程序开发经验分享(9)小程序快速上线汇总

热门文章

  1. PPT超链接字体颜色修改方法
  2. MIT开创减少双量子比特门误差的新方法,提高鲁棒性迈向纠错量子计算机
  3. 基于卫星测深的牙买加沿岸水深测量
  4. linux 加速度传感器数据获取,对加速度传感器的数据进行方向和坐标的转换
  5. 一路(16)相随,一起(17)前行
  6. 第9天Sqltie数据库
  7. python 自动登录网站_Python使用selenium实现网页用户名 密码 验证码自动登录功能...
  8. 京东618大促,全店商品如何导出?
  9. 企业微信java开发demo_微信企业号demo
  10. html中背景属性的缩写语法,CSS缩写