JsDom 编程小结


  本文标签:JsDom,编程

1.浏览器兼容问题:
浏览器兼容性的例子:ie6,ie7对table.appendChild("tr")的支持和IE8不一样,用insertRow、insertCell来代替或者为表格添加tbody,然后向tbody中添加tr 。FF(FireFox)不支持InnerText,用textContent代替
2.几乎所有DOM元素都有innerText、innerHTML属性(注意大小写),分别是元素标签内内容的文本表示形式和HTML源代码,这两个属性是可读可写的 。
动态创建元素的时候innerHTML可以代替createElement(),属于简单,粗放型,后果自负的创建
3.write():
document.write()只能在页面加载过程中才能动态创建
4.
document是window对象的一个属性,因为使用window对象成员的时候可以省略window.,所以一般直接写document
5.history操作历史记录
window.history.back()后退;window.history.forward()前进 。也可以用window.history.go(-1)、window.history.go(1)前进
6.clipboardData对象,对粘贴板的操作:
clearData("Text")清空粘贴板;getData("Text")读取粘贴板的值,返回值为粘贴板中的内容;setData("Text",val),设置粘贴板中的值 。
7.oncopy="setTimeout(modifyClipboard(),100)" 。用户复制动作发生0.1秒以后再去改粘贴板中的内容 。100ms只是一个经常取值,写1000、10、50、200……都行 。不能直接在oncopy里修改粘贴板 。不能直接在oncopy中执行对粘贴板的操作,因此设定定时器,0.1秒以后执行,这样就不再oncopy的执行调用栈上了
8.returnValue属性:
returnValue属性,如果将returnValue设置为false,就会取消默认事件的处理 。在超链接的onclick里面禁止访问href的页面 。在表单校验的时候禁止提交表单到服务器,防止错误数据提交给服务器、防止页面刷新 。
//window.event.returnValue不兼容火狐浏览器
9.
window.event对象的成员:
srcElement,获得事件源对象 。几个事件共享一个事件响应函数用 。****_click(object sender,EventArgs e)//只有IE支持 。
button,发生事件时鼠标按键,1为左键,2为右键,3为左右键同时按 。//要测试event.button的值的时候,请在onmousedown事件中测试 。如果在onclick事件中只能识别鼠标左键的单击 。
10.
window.location.href=‘;//重新导航到新页面,可以取值,也可以赋值 。
window.location.reload();//刷新当前页
location.search:获得url(?号以后的,包含?)
11.
(1)onload:网页加载完毕时触发,浏览器是一边下载文档、一边解析执行,可能会出现JavaScript执行时需要操作某个元素,这个元素还没有加载,如果这样就要把操作的代码放到body的onload事件中,或者可以把JavaScript放到元素之后 。元素的onload事件是元素自己加载完毕时触发,body onload才是全部加载完成
(2)onunload:网页关闭(或者离开)后触发 。
(3)onbeforeunload:在网页准备关闭(或者离开)前触发 。
<body onbeforeunload=“return ‘真的要放弃发帖退出吗?; "> 。显示的文字随浏览器版本而有差异 。
12.
js中调用方法的时候就是把指针赋给它
var t=add;
function add(){}
13.
window.event.clientX是客户端可视界面
14.
一、setInterval(code,time)方法可以每隔 time毫秒执行一次code.
其中的code有两种方式:
1.直接传入 某个方法 对象 - setInterval(showTime,1000);
2.直接传入要执行 的 js代码字符串 - setInterval("alert(1);",1000);
二、关于 for in (用来循环 对象的属性和值)
使用 for in 来循环数组时,会将 数组的属性先循环出来
然后再 循环 数组里的元素 ,但此时 循环出来的 k 是元素的下标
三、innerHTML
将 字符串 添加到 对应的 双标签 中间 。
并且立刻对 该字符串进行解析,如果符合html标签的语法,
则,立即调用 浏览器的解析器,对该字符串进行html解析,并
生成对应的 dom 对象,最后,将该dom对象,追加到被添加的
对象的 子元素 集合(ChildNodes)中 。
15.
ShowModalDialog函数的功能:
打开一个子窗口,并且可与父窗口相互传递数据,它与window.open的最大区别
就在于由ShowModalDialog打开子窗口后,父窗口将不能操作 。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,
sFeatures])
参数说明:
sURL
必选参数,类型:字符串 。用来指定对话框要显示的文档的URL 。
vArguments
可选参数,类型:变体 。用来向对话框传递参数 。传递的参数类型不限,包括数
组等 。对话框通过window.dialogArguments来取得传递进来的参数 。
sFeatures
可选参数,类型:字符串 。用来描述对话框的外观等信息,可以使用以下的一个
或几个,用分号“;”隔开 。
dialogHeight 对话框高度,不小于100px,IE4中dialogHeight
和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal
方式的对话框时,用px做单位 。
   dialogWidth: 对话框宽度 。
   dialogLeft: 距离桌面左的距离 。
   dialogTop: 离桌面上的距离 。
   center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定
高度和宽度 。
   help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes 。
   resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小 。默
认no 。
   status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏 。默认为yes[
Modeless]或no [Modal] 。
scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动
条 。默认为yes 。
参数传递方法:
父窗口向子窗口传递参数采用ShowModalDialog的第2个参数即可,父窗口要获取
子窗口传回的参数则可通过ShowModalDialog函数的返回值获取 。
子窗口获取父窗口参数的方法为采用子窗口window对象dialogArguments属性获
取,例如:
parent.html
<script>
var obj = new Object();
obj.name="51js";
window.showModalDialog
("modal.html",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
modal.html
<script>
var obj = window.dialogArguments
alert("您传递的参数为:" + obj.name)
</script>
子窗口向父窗口返回参数采用window.returnValue属性,如:
window.returnValue=1;
window.close();