会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132359个问题
WEB前端全系列/第二阶段:JavaScript编程模块/浏览器模型(BOM) 362楼

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #tabBox input{
            background: #f1f1f1;
            border: 1px solid #ff0000;
        }
        #tabBox .active{
            background:#e9f212;
        }
        #tabBox div{
            display: none;
            width: 300px;
            height: 250px;
            padding: 10px;
            background: #e9f212;
            border: 1px solid #ff0000;
        }
    </style>
    <script>
        window.onload =function( ){
            var tabBox = document.getElementById("tabBox");
            var tabBtn = tabBox.getElementsByTagName("input");
            var tabDiv = tabBox.getElementsByTagName("div");
            for(var i = 0;i<tabBtn.length;i++){
                //给每个btn添加点击事件
                tabBtn[i].index =i;
                tabBtn[i].onclick = function( ){
                    for(var j=0;j<tabBtn.length;j++)(
                        tabBtn[j].className ="";
                    tabDiv[j].style.display = "none";
                }
                this.className = "active";
                tabDiv[this.index].style.display = "block";
            }
        }
    </script>
</head>
<body>
<div id="tabBox">
    <input type="button" value="web" class="active">
    <input type="button" value="Java">
    <input type="button" value="Python">
    <div style="display: block;">React、Vue</div>
    <div>SpringBoot、SpringMVC</div>
    <div>Flash、 Django</div>
</div>
</body>

老师这段代码不能达到点btn切换的效果



WEB前端全系列/第二阶段:JavaScript编程模块/面向对象编程 364楼
WEB前端全系列/第二阶段:JavaScript编程模块/面向对象编程 366楼
WEB前端全系列/第二阶段:JavaScript编程模块/DOM模型 367楼
WEB前端全系列/第二阶段:JavaScript编程模块/浏览器模型(BOM) 368楼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>解决浏览器事件绑定兼容性问题</title>
    <style>
        .div1 {
            width: 200px;
            height: 200px;
            background-color: paleturquoise;
        }
        .div2 {
            margin: 25px auto;
            width: 100px;
            height: 100px;
            background-color: orange;
        }
    </style>
</head>
<body>
    <div class="div1">div1
        <div class="div2">div2</div>
    </div>
<script>
    var div1=document.querySelector('.div1');
    var div2=document.querySelector('.div2');

    function func () {
        console.log('这是div');
    }
    // function func2 () {
    //     console.log('IE里的div');
    // }

    var cleanBug={
        add:function (ele,type,func) {
                if (ele.addEventListener) {
                    ele.addEventListener(type,func);
                }else {
                    ele.attachEvent('on'+type,func);
                }
            },
        remove:function (ele,type,func) {
                    if (ele.removeEventListener) {
                        ele.removeEventListener(type,func);
                    }else {
                        ele.detachEvent('on'+type,func);
                    }
                }    
            }

    cleanBug.add(div1,'click',func);
    // (div2,'click',func);
</script>    
</body>
</html>

老师,我问两个问题:

1、如果两个div是嵌套关系,我给外面的div敲击事件,里面的div点击它也会产生敲击事件?

2、我想给div1和div2各一个敲击事件且让他们打印的值不一样,代码该怎么修改?

WEB前端全系列/第二阶段:JavaScript编程模块/浏览器模型(BOM) 369楼
WEB前端全系列/第二阶段:JavaScript编程模块/Math与Date 370楼

image.png

WEB前端全系列/第二阶段:JavaScript编程模块/函数与对象 372楼
WEB前端全系列/第二阶段:JavaScript编程模块/面向对象编程 375楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637