美文网首页
DOM0级事件

DOM0级事件

作者: 三人行大道 | 来源:发表于2019-03-04 15:48 被阅读0次

    1.通过DOM获取HTML元素
    2.(获取HTML元素).事件=执行脚本
    说明:执行脚本可以是一个匿名函数,也可以是一个函数的调用

    <style>
            .lock{
                width:140px;height: 30px;line-height:30px;
                background: #f00;color:#fff;font-size:14px;text-align:center;
                border-radius:5px; cursor:pointer;margin-top30px;
            }
             .unlock{
                width:140px;height: 30px;line-height:30px;
                background: #689;color:#ccc;font-size:14px;text-align:center;
                border-radius:5px; cursor:pointer;margin-top30px;
            }
        </style>
    
    
     <div class="lock" id="btn">锁定</div>
        <script>
            //获取按钮
            var btn=document.getElementById("btn")
            //给定按钮绑定事件
            btn.onclick = function(){
                // this.className=".unlock";//改变(替换)原来的类
                // this.innerHTML="解锁";//改变标签中的文本内容
    
                //第一种方法 根据类判断
                // 判断如果按钮是锁定,则显示为解锁,变为灰色
                // 否则显示为锁定,变为蓝色
                if(this.className=="lock"){
                    this.className="unlock";
                    this.innerHTML="解锁";
                }else{
                    this.className="lock";
                    this.innerHTML="锁定";
                }
    
                //第二种方法 根据文本判断
                // if(this.innerHTML="锁定"){
                //     this.className="unlock";
                //     this.innerHTML="解锁";
                // }else{
                //     this.className="lock";
                //     this.innerHTML="锁定";
                // }
    
            }
    
        </script>
    

    不建议使用HTML事件,原因是
    1.多元素绑定相同事件,效率低
    2.不建议在HMTL元素中写JS代码

    
    

    上面代码中可以不用匿名函数
    可以自定义函数

    css样式
     <style>
            .lock{
                width:140px;height:30px;line-height:30px;background:#00f;
                color:#fff;font-size:14px;text-align:center;border-radius:5px;
                cursor:pointer;margin-top:30px;
            }
            .unlock{
                width:140px;height:30px;line-height:30px;background:#666;
                color:#ccc;font-size:14px;text-align:center;border-radius:5px;
                cursor:pointer;margin-top:30px;
            }
        </style>
    
    JS代码
    
    <body>
        <div id="btn" class="lock">锁定</div>
        <!--获取id为btn--DOM元素-->
        <script>
            btn = document.getElementById("btn");
            //自定义函数
            function clickBn(){
                 if(this.className=="lock"){
                    this.className="unlock";
                    this.innerHTML="解锁";
                }else{
                    this.className="lock";
                    this.innerHTML="锁定";
                }
            }
            btn.onclick = clickBn;
            //点击按钮调用clickBn这个函数;
             // 这里有一个需要注意的事项是调用自定义的函数的时候,不能在函数后面家函数
        </script>
    </body>

    相关文章

      网友评论

          本文标题:DOM0级事件

          本文链接:https://www.haomeiwen.com/subject/shnduqtx.html