为什么按钮3,4都读取不出来

来源:2-3 DOM2级事件处理程序

qq_SpeaklDomuch_0

2016-04-27 13:36

<!DOCTYPE html>

<html>

<head>

<title>事件流</title>

<mete charset="utf-8"></mete>

</head>

<body>

<script type="text/javascript">

function jw(){

alert("第二种");

}

var btn3=document.getElementById('btn3');

var btn4=document.getElementById('btn4');

btn3.onclick=function(){

alert('这是DOM0级处理方法');

}

// DOM2级事件

btn4.addEventListener('click',jw,false);

</script>

<div id="box">

<input type="button"  value="按钮" id="btn" onclick="alert('first')">

<input type="button"  value="按钮1"  id="btn2"  onclick="jw()">

<input type="button"  value="按钮2"  id="btn3">

<input type="button"  value="按钮3"  id="btn4">

</div>

</body>

</html>


写回答 关注

3回答

  • bonorise
    2016-07-04 23:54:52

    <!DOCTYPE html>

    <html>

    <head>

    <title>事件流</title>

    <mete charset="utf-8"></mete>

    </head>

    <body>


    <div id="box">

    <input type="button"  value="按钮" id="btn" onclick="alert('first')">

    <input type="button"  value="按钮1"  id="btn2"  onclick="jw()">

    <input type="button"  value="按钮2"  id="btn3">

    <input type="button"  value="按钮3"  id="btn4">

    </div>


    <script type="text/javascript">

    function jw(){

    alert("第二种");

    }

    var btn3=document.getElementById('btn3');

    var btn4=document.getElementById('btn4');

    btn3.onclick=function(){

    alert('这是DOM0级处理方法');

    }

    // DOM2级事件

    btn4.addEventListener('click',jw,false);

    </script>

    </body>

    </html>


    把JS的代码放到HTML代码之后就可以了,亲测~!

    bonori...

    因为JS代码中 btn3 btn4 赋值的时候,HTML还没有加载,也就是说找不到id为'btn3'和'btn4'的按钮元素,此时如果打开控制台查看 btn3 和 btn4 都是 null

    2016-07-05 00:00:54

    共 1 条回复 >

  • 陈大鱼头
    2016-04-27 14:29:55

    window.onload = function(){

    function jw(){

    alert("第二种");

    }

    var btn3=document.getElementById('btn3');

    var btn4=document.getElementById('btn4');

    btn3.onclick=function(){

    alert('这是DOM0级处理方法');

    }

    // DOM2级事件

    btn4.addEventListener('click',jw,false);

    }


    陈大鱼头

    连什么时候开始调用都没说清楚,浏览器怎么给你调,打开F12一看就是函数为null;

    2016-04-27 14:31:25

    共 1 条回复 >

  • masterShaw11
    2016-04-27 14:05:38

    var btn3=document.getElementById('btn3');

    var btn4=document.getElementById('btn4');

    if(btn3.addEventListener){

            btn4.addEventListener('click',jw,false);

    }

    else if(btn3.attachEvent){

            btn3.attachEvent('onclick',jw)

    }

    else{

            btn3.onclick=jw;

    }

    试试看btn3有没有用?你前面写的两种添加click事件的方法,可能正好你运行的浏览器都不支持,我这里比你多一种添加click事件方法,可能会有用



DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99545 学习 · 1197 问题

查看课程

相似问题