哪里有问题?

来源:5-4 编程练习

Sherlock_bourne

2019-04-22 03:08:45

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>userAgent</title>
    </head>
    <body>
       <input type="button" value="点击获取浏览器信息" id="browser">
       <script type="text/javascript">
           //补充代码
            var btn=document.getElementById("input")[0];
            function getBrowser(){
                var explorer=navigator.userAgent.toLowerCase();
                var browser;
                if(explorer.indexOf("msie")>-1){
                    browser="IE";
                }else if(explorer.indexOf("firefox")){
                    browser="firefox";
                }else if(explorer.indexOf("chrome")){
                    browser="chrome";
                }
                return browser;
            }
            btn.addEventListener("click",function(){
                var web = getBrowser();
                alert("您使用的浏览器为"+web+"浏览器");
            })
       </script>
    </body>
</html>


写回答

2回答

好帮手慕糖

2019-04-22

同学你好,onclick不能完全完全代替监听的哦,因为监听不止是监听单击事件,还有一些其他事件哦。这里主要是低版本浏览器的问题,Ie8的话,可以使用attachEvent哦。这个浏览器在后面“JS事件”这个课程中也有讲解哦,可以继续往后学习哦。

希望能帮助到你,祝学习愉快!

0
hherlock_bourne
h 好的老师!
h019-04-22
共1条回复

好帮手慕糖

2019-04-22

同学你好,1、这里使用的是id获取元素,就不需要后面的[0]了哦,且这里的id不是input,要应该是browser。

http://img.mukewang.com/climg/5cbd35fc000196ad09420246.jpg

2、判断这里,且是大于-1哦。

http://img.mukewang.com/climg/5cbd3778000150ff07940325.jpg

3、在ie8进行测试的时会发现不支持addEventListener事件,这个时候,可以直接使用onclick哦,例:

http://img.mukewang.com/climg/5cbd37910001fd0008320120.jpg

希望能帮助到你,祝学习愉快!

0
hherlock_bourne
h 太粗心了,当局者迷啊!document.getElemensByTagName("input")[0]用习惯了,以后有id就用老师的方法~这个事件监听18版最后一课讲的,就几张ppt,但在19版花了不少课时讲,以为这是日后趋势,就这样用。不知道实际开发中,那种方式用的多,也不知道直接使用onclick能否完全取代事件监听。
h019-04-22
共1条回复

0 学习 · 40143 问题

查看课程