JavaScript讲义记录6
六.事件
(一)、事件流
1.冒泡型事件
2.捕获型事件
(二)、事件监听
1.IE和Firefox简单的通用方法:(只能添加单一事件)
例如:
windows.onload = function(){
var oP = document.getElementById("myP");
oP.onclick = function(){
alert("我被点击了");
}
}
2.IE中的事件监听
例如:
function fnClick(){
alert("我被点击了");
oP.detachEvent("onclick",fnClick);
}
var oP;
window.onload = function(){
oP = document.getElementById("myP");
oP.attacheEvent("onclick",fnClick);
}
3.标准DOM的事件监听(firefox)
function fnClick1(){
alert("我被fnClick1点击");
oP.removeEventListener("click",fnClick2,false);
}
function fnClick2(){
alert("我被fnClick2点击");
}
var oP;
window.onload = function(){
oP = document.getElementById("myP");
oP.addEventListener("click",fnClick1,false);
oP.addEventListener("click",fnClick2,false);
}
(三)、事件对象
1.兼容两种浏览器:
oP.onclick = function(oEvent){
if(window.event)oEvent = window.event;
}
2.判断事件的类型:
例如:
function handle(oEvent){
var oDiv = document.getElementById("display");
if(window.event)oEvent = window.event;
if(oEvent.type == "click")
oDiv.innerHTML+="你点击了我";
else if(oEvent.type == "mouseover")
oDiv.innerHTML+="你移动到我上方";
}
window.onload = function(){
var oImg = document.getElementsByTagName("img")[0];
oImg.onclick = handle;
oImg.onmouseover = handle;
}
七.表格和表单
(一)动态控制表格
1.动态添加表格
window.onload = function(){
var oTr = document.getElementById("member").insertRow(2);
var aText = new Array();
aText[0] = document.createTextNode("fresheggs");
aText[1] = document.createTextNode("W610");
aText[2] = document.createTextNode("100089");
for(var i=0;i<aText.length;i++){
var oTd = oTr.insertCell(i);
oTd.appendChild(aText[i]);
}
}
相关文档:
下面两个方法实现了数组中去掉 前面 或者 后面的 重复项
去掉前面的重复项方法 把array [1, 2, 3, 1, 4, 5]去掉前面重复项 得到 [2, 3, 1, 4, 5].
function unique(a)
{
var r = new Array();
o:for(var i = 0, n = a.length; i < n; i++) {
for(var x = i + 1 ; x < n; x++)
{
......
//关闭,父窗口弹出对话框,子窗口直接关闭
this.Response.Write("<script language=javascript>window.close();");
//关闭,父窗口和子窗口都不弹出对话框,直接关闭
this.Response.Write("");
this.Response.Write("{top.opener =null;top.close();}");
this.Response.Write("");
//弹出窗口刷新当前页面width=20 ......
大家可能都遇到过在写javascirpt代码时传递中文,在后台取到时发现是乱码,这里把我今天做的方法写出来,希望对大家以后有用!
方法(一):
html页面:
function testOne() {
var url = "testOne_test.do?expr="+你好;
location = encodeURI(url);
}
后台java代码:
String expr = ne ......
1. oncontextm 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectst> 取消选取、防止复制
3. 不准粘贴
4. 防止复制
5. <link > IE地址栏前换成自己的图标
6. <link   ......
原创于2007年12月16日,2009年10月15日迁移至此。
JavaScript通过内置的setTimeout函数来完成页面内的定时检查,也是很久以前写的东西了。
之所以想起它来,是因为在和项目组其他成员说该事情的时候,别人竟然嘲笑我说是上个世纪的代码,现在都用WEB2.0了。
<script language="JavaScript" type="text ......