客户端编程--JavaScript(4)

来源:互联网 发布:淘宝客成功案例 编辑:程序博客网 时间:2024/04/30 20:38

JavaScript事件处理 

捆绑事件到元素:
  使用传统的XHTML事件处理属性 <form onsubmit="myFunction();">
        使用脚本将处理程序设置为与某个对象相关联 document.getElementById("myForm").onsubmit = myFunction;
       使用专利方法例如IE的attachEvent()
       使用DOM2方法用一个节点煌addEventListener() 设置事件监听器

触发事件的方法:
  通过浏览器响应用户或者JavaScript的某些初始行为隐式地触发. <body onLoad()="myFunction();">
  在JavaScript中使用DOM1的方法显示触发. document.forms[0].submit()
        使用专利方法例如IE的fireEvent()
        在JavaScript中使用DOM2的dispatchEvent()方法显示触发

基本事件与XHTML中对应的元素的事件处理程序属性
onblur 失去焦点时发生    onchange失去焦点并且值被修改   onclick          ondblclick
onfocus获得焦点  ondeydown当焦点在某元素上时,正按下一个键    onkeypres    onkeyup
onload       onmousedown  onmosemove  onmouseout  onmouseover鼠标已经移到某个元素  onmouseup
onrest 指示表单正在被重置  onselect指示用户选择一段文本  onsubmit  onunload

使用JavaScript绑定比使用XHTML属性绑定更文件在想要动态添加或者删除处理程序时.这样做有助于提高文档结构,逻辑和表现形式的分离.

现代事件模型
  现代事件模型与基本事件模型的一个主要区别就是增加了event对象,这个对象给每个事件处理程序一个事件发生时的上下文快照.

E中将事件处理程序绑定到对象: attachEvent("要处理的事件",处理程序)   detachEvent("要处理的事件",处理程序)

DOM2事件模型
  DOM2中的事件在对象层次的顶部(document)开始其生命周期,然后沿着包含的对象下降,达到目标并且执行处理程序,随后事件往上冒泡到顶部.

使用addEventListener()绑定事件 好处有三:一,可以为相同事件绑定多个处理程序 二,在事件下降到目标的过程中处理事件 三,该方法可以将处理程序绑定到文本节点.
object.addEventListener("event", handler, capturePhase)    object是监听器绑定的节点 event是一个指示要监听 的事件的字符串   handler是当事件发生时,要调用的函数  capturePhase是一个布尔值true下降flase冒泡

阻止默认行为 preventDefault()    阻止事件传播  stopPropagation()

 

JavaScript控制浏览器窗口

对话框 alert(string)   确认对话框boolea confirm(string)   提示对话框String prompt(提示字符串,默认值字符串)

打开和关闭普通窗口window.optn(url, name, features, replace) name是窗口的名称 feature是一个以逗号分隔的窗口的特征列表  replace是一个boolea 指示指定的URL是否替代窗口的内容

features循环参数值
 alwaysLowered 指示窗口是否放在所有其它窗口后
alwaysRaised指示窗口是否放在所有其它窗口上
fullscreen是否全屏幕显示(IE)
hotkeys指示是否浏览器的热键是否覆盖基本的热键
resizable指定用户是否可以缩放窗口
scrollbars指示是否显示滚动条
directories指定是否显示地址按钮
status指定是否显示状态栏
titlebar指定是否显示标题栏
toolbar指定是否显示工具栏
location指定是否显示地址栏
menubar指定是否显示菜单条
innerHeight设置用户文档显示的窗口的内部高度
innerWidth ....宽度
outerHeight设置窗口的外部高度
outerWidth设置窗口的外部宽度
left窗体相对于屏幕左边的位置(IE)
top窗体相对于屏幕顶部的位置(IE)
screenx窗体相对于屏幕左边的位置(netscape)
screeny窗体.................右............
height窗口高度
width窗口的宽度

向窗口中写入内容 document.write() 写完document.close();
移动窗口 相对移动 window.moveBy(水平相素,垂直相素)   绝对移动windowname.moveTo(X,Y)
调整窗口大小 相对调整 woindow.resizeBy()   绝对调整window.resizeTo()
滚动窗口  相对滚动 window.scrollBy()  绝对滚动 window.scrillTo()
设置窗口地址  window.location="http://..."  
访问窗口的历史记录 history.forward() 前进 history.back() 后退  history.go(I) 正前进负后退
控制窗口的状态栏 status设置临时在状态栏显示的信息 defaultStatus默认状态栏文本信息
设置窗口超时和时间间隔 setTimeout(fun, time)设置一个在指定时间后运行的脚本  clearTimeout()

通用window事件
onblur  窗口失去焦点
onerror  JavaScript错误发生时触发的
onfocus窗口获得焦点
onload
onresize当用户调整窗口大小时触发
onunload当文档卸载时触发

IE模式窗口 window.showModalDialog(对话框URL,参数,特征)

原创粉丝点击