zoukankan      html  css  js  c++  java
  • JavaScript 通过 attachEvent 和 detachEvent 方法处理带参数的函数(示例代码)

    -------------------------------------不错的示例代码----------------------------------

    1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2<html xmlns="http://www.w3.org/1999/xhtml">
    3<head>
    4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5<title>无标题文档</title>
    6<script language="javascript">
    7
    8    var theP;  //P标签对象
    9   
    10    var show=function(msg){    //直接定义 function show(msg) 效果是一样的
    11        return function(){   
    12            alert(msg+" from show()");
    13
    14            if(window.addEventListener){  //FF etc.
    15                 theP.removeEventListener("click", theP.show11, false);
    16            }
    17            else{ //IE
    18                 theP.detachEvent("onclick", theP.show11);
    19            }
    20        }
    21    }
    22
    23    var show2=function(msg){    //直接定义 function show2(msg) 效果是一样的
    24        return function(){   
    25            alert(msg+" from show2()");
    26        }
    27    }
    28   
    29    function showDef(){
    30        alert("showDef()");           
    31       
    32         if(window.addEventListener){  //FF etc.
    33              theP.removeEventListener("click", showDef, false);
    34         }
    35         else{ //IE
    36              theP.detachEvent("onclick", showDef);
    37         }
    38    }
    39   
    40    window.onload=function(){
    41        theP=document.getElementById("pid");
    42       
    43        theP.show11=show("可以detach的带参数方法");
    44       
    45        if(window.addEventListener) // not IE
    46        {
    47            //for FF.etc
    48            theP.addEventListener("click", theP.show11, false);
    49            theP.addEventListener("click", showDef, false);
    50        }
    51        else
    52        {
    53            //for IE           
    54            theP.attachEvent("onclick", theP.show11);
    55            theP.attachEvent("onclick", show2('不能detach的带参数方法'));//区别于上一个,这里不能detach
    56           
    57            theP.attachEvent("onclick", showDef);  //无参数的方法直接写
    58        }       
    59    }
    60</script>
    61
    62</head>
    63
    64<body >
    65<div >
    66    <p id="pid">Click Me</p>
    67</div>
    68</body>
    69</html>

  • 相关阅读:
    c#队列的实现
    c#队列的实现
    C# 自定义控件制作和使用实例(winform)
    常见的位运算
    Clock()函数简单使用(C库函数)
    Python全局变量的简单使用
    PyQt5+Caffe+Opencv搭建人脸识别登录界面
    python3+pyqt5+opencv3简单使用
    OpenCV实现人脸检测
    opencv 截图并保存
  • 原文地址:https://www.cnblogs.com/catprayer/p/1680890.html
Copyright © 2011-2022 走看看