JavaScript通过attachEvent和detachEvent方法处理带参数的函数
作者:bea
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
var theP; //P标签对象
var show=function(msg){ //直接定义 function show(msg) 效果是一样的
return function(){
alert(msg+" from show()");
if(window.addEventListener){ //FF etc.
theP.removeEventListener("click", theP.show11, false);
}
else{ //IE
theP.detachEvent("onclick", theP.show11);
}
}
}
var show2=function(msg){ //直接定义 function show2(msg) 效果是一样的
return function(){
alert(msg+" from show2()");
}
}
function showDef(){
alert("showDef()");
if(window.addEventListener){ //FF etc.
theP.removeEventListener("click", showDef, false);
}
else{ //IE
theP.detachEvent("onclick", showDef);
}
}
window.onload=function(){
theP=document.getElementById("pid");
theP.show11=show("可以detach的带参数方法");
if(window.addEventListener) // not IE
{
//for FF.etc
theP.addEventListener("click", theP.show11, false);
theP.addEventListener("click", showDef, false);
}
else
{
//for IE
theP.attachEvent("onclick", theP.show11);
theP.attachEvent("onclick", show2('不能detach的带参数方法'));//区别于上一个,这里不能detach
theP.attachEvent("onclick", showDef); //无参数的方法直接写
}
}
</script>
</head>
<body >
<div >
<p id="pid">Click Me</p>
</div>
</body>
</html>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- JQuery的html(data)方法与<script>脚本块的解决方法
- JQuery+div+css 无限级联树实现代码
- Jquery替换已存在于element上的event的方法
- JQery jstree 大数据量问题解决方法
- 魔鬼字典 JavaScript 笔记 代码比较多乱
- Javascript Math ceil()、floor()、round()三个函数的区别
- js 无提示关闭浏览器页面的代码
- JS 无法通过W3C验证的处理方法
- extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
- javascript 简单抽屉效果的实现代码
- Javascript常考语句107条收集
- 风吟的小型JavaScirpt库 (FY.JS).
- 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键
- 用jQuery实现的模拟下拉框代码
- Jquery实现无刷新DropDownList联动实现代码
- JavaScript this调用规则说明
- javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
- JavaScript中的闭包原理分析
- ExtJS GridPanel 根据条件改变字体颜色