zoukankan      html  css  js  c++  java
  • 原生javascript实现类似jquery on方法的行为监听

    原生javascript有addEventListener和attachEvent方法来注册事件,但有时候我们需要判断某一行为甚至某一函数是否被执行了,并且能够获取前一行为的参数,这个时候就需要其他方法来实现了。

    项目中的原始场景是有若干个tab切换,tab组件当然是已经写好的,现在需要每次点击后保存localstorage等其他操作,需要监听tab是否被点击。下面是简单的实现事件监听方法:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>事件注册</title>
    </head>
    <body>
        <button id="test">点击</button>
        <script type="text/javascript">
        var BC=(function(){
             var attachFunctionList = {};
    //事件通知
    var notify=function(notifyName){ var args=Array.prototype.slice.call(arguments,1); attachFunctionList[notifyName].fun.apply(attachFunctionList[notifyName].scope,args); return this; }
    //事件监听
    var attach = function(notifyName, callback) { if(typeof notifyName ==="string"&&typeof callback==="function"){ attachFunctionList[notifyName]={ fun:callback }; } return this; } return { attach:attach, notify:notify } })(); var $test=document.getElementById("test"); $test.onclick=function(){ var name="hz"; BC.notify("clicked",name);//按钮点击后通知该事件已经发生了,并把当前参数传递过去 }
    //监听到按钮被点击后进行其他操作 BC.attach(
    "clicked",function(name){ alert("事件注册成功!参数是:"+name); }) </script> </body> </html>
  • 相关阅读:
    Android文件操作说明

    d
    关于<验证码>的实现和执行流程 http://www.cnblogs.com/androidhtml5/archive/2012/05/19/2533650.html
    div 嵌套 图片
    在线FLV播放器实现方法
    转载 android webview js
    d
    d
    消息
  • 原文地址:https://www.cnblogs.com/hutuzhu/p/4305318.html
Copyright © 2011-2022 走看看