JS学习记录(事件补充一)

HTML事件<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        #container{
            height: 800px;
            background-color: red;
        }
    </style>
    <!--<script>
        function loaded() {
            var name1 = document.getElementById("name");
            name1.onclick = function () {
                alert("洗刷刷");
            }
        };
    </script>-->
    <title>HTML事件</title>
</head>
<body onload="loaded()">
<input type="text" id="name" onselect="mySelect(this.id)">
<input type="text" id="name2" onchange="myChange(this.id)">
<input type="text" id="name3" onfocus="myFocus()">
<div id="container"></div>
</body>
<script>
    window.onload = function () {
      console.log("文档加载完毕!");
    };
    /*window.onunload = function () {
        alert("文档被关闭!");
    };*/
    function mySelect(id) {
        var text = document.getElementById(id).value;
        console.log(text);
    }
    function myChange(id) {
        var text = document.getElementById(id).value;
        console.log(text);
    }
    function myFocus() {
        console.log("得到光标!");
    }
    window.onresize = function () {
        console.log("窗口变化!")
    };
    var name1 = document.getElementById("name");
    name1.onclick = function () {
        alert("洗刷刷");
    };
    window.onscroll = function (){
        console.log("滚动条滚动");
    }
</script>
</html>

结果图:

得到括号内的效果

事件模型<html lang="en">
<head>
    <meta charset="UTF-8">

    <title>事件模型</title>
</head>
<body>
<!--脚本模型:行内绑定-->
<button onclick="javascript:alert(‘Hello‘)">Hello</button>
<!--内联模型-->
<button onclick="showHello()">Hello!</button>
<!--动态绑定-->
<button id="btn">Hello1!</button>
</body>
<script>
    function showHello() {
        alert("Hello!")
    }
    var btn = document.getElementById("btn");
    /*DOM0:同一个元素,同类事件只能添加一个,
            如果添加多个,后面添加的会覆盖之前添加的*/
    /*btn.onclick = function () {
        alert("Hello1!");
    };*/
    /*DOM2:可以给同一个元素添加多个同类事件*/
    /*btn.addEventListener("click",function () {
        alert("Hello")
    });
    btn.addEventListener("click",function () {
        alert("Hello1!")
    });*/
    /*不同浏览器的兼容写法*/
    if (btn.attachEvent){/*IE*/
        btn.attachEvent("onclick",function () {
            alert("IE Hello")
        });
    }else{                            /*W3C*/
        btn.addEventListener("click",function () {
            alert("W3C Hello")
        });
    }
</script>
</html>

结果图:

事件冒泡<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        #div1{
            width: 400px;
            height: 400px;
            background-color: red;
        }
        #div2{
            width: 300px;
            height: 300px;
            background-color: yellow;
        }
        #div3{
            width: 200px;
            height: 200px;
            background-color: darkcyan;
        }
        #div4{
            width: 100px;
            height: 100px;
            background-color: darkorange;
        }
    </style>
    <title>事件冒泡</title>
</head>
<body>
<div id="div1">
    <div id="div2">
        <div id="div3">
            <div id="div4">

            </div>
        </div>
    </div>
</div>
</body>
<script>
    /*事件冒泡:子元素的事件发生以后,会引发父元素同类事件
     * 事件捕获:在参数function后面加上参数true;事件的触发方式是从父元素网子元素*/
    var div1 = document.getElementById("div1");
    div1.addEventListener("click",function () {

        alert("div1");
    });
    var div2 = document.getElementById("div2");
    div2.addEventListener("click",function () {
        alert("div2");
    });
    var div3 = document.getElementById("div3");
    div3.addEventListener("click",function (event) {
        event.stopPropagation();
        alert("div3");
    });
    var div4 = document.getElementById("div4");
    div4.addEventListener("click",function (event) {
        event.stopPropagation();
        alert("div4");
    });
</script>
</html>

结果图:

阻止默认事件<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>阻止默认事件</title>
</head>
<body>
<a href="http://www.baidu.com" onclick="stopA(event)">百度</a>
</body>
<script>
    function stopA(event) {
        if(event.preventDefault()){
            event.preventDefault();  /*w3c*/
        }else {
            event.returnValue = false; /*IE*/
        }
        event.preventDefault();
        alert("老子就是不让你跳转!")
    }
</script>
</html>

结果图:

时间: 2024-11-05 12:32:53

JS学习记录(事件补充一)的相关文章

JS学习记录(补充三)

函数<html lang="en"> <head> <meta charset="UTF-8"> <title>函数</title> </head> <body> <button onclick="showName('ccy')">显示陈传印名字</button> <button onclick="showName('lzw

JS学习记录(补充四)

History对象<html lang="en"> <head> <meta charset="UTF-8"> <title>History对象</title> </head> <body> <a href="Demo40.html">Demo40</a> <button onclick="forward()"&g

JS学习记录(jQuery补充一)

伪类选择器<html lang="en"> <head> <meta charset="UTF-8"> <title>伪类选择器</title> </head> <body> <h1>欢迎来到北京大学</h1> <ul> <li>烟台大学</li> <li>鲁东大学</li> <li>山东

JS学习记录(补充二)

循环变量<html lang="en"> <head> <meta charset="UTF-8"> <title>循环变量</title> </head> <body> <script> /*1+2+3+...10*/ var i = 1; //循环变量的定义 var sum = 0; while (i <= 10) { //循环变量的判断 if (i % 2 =

JS学习记录(补充一)

国际通用命名规则<html lang="en"> <head> <meta charset="UTF-8"> <title>命名规则</title> </head> <body> <!--国际通用的命名规则:驼峰法则 <一:变量> 1:单个单词的全小写 var name = "lzw"; 2:多个单词 第一个单词全小写,其余单词首字母大写 var

JS学习笔记-事件绑定

一.传统事件模型 传统事件模型中存在局限性. 内联模型以HTML标签属性的形式使用,与HTML混写,这种方式无疑造成了修改以及扩展的问题,已经很少使用了. 脚本模型是将事件处理函数写到js文件中,从页面获取元素进行对应事件函数的绑定以触发执行.但也存在不足之处: 1.一个事件绑定多个事件监听函数,后者将覆盖前者. 2.需要限制重复绑定的情况 3.标准化event对象 二.现代事件绑定 DOM2级事件定义了两个方法用于添加.删除事件:addEventListener().removeEventLi

JS学习记录(事件)

鼠标事件<html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标事件</title> </head> <body> <button onclick="myClick()">鼠标单击</button> <button ondblclick="myDBClick()&quo

vue.js 学习记录(一)

原文地址:http://www.cnblogs.com/rik28/p/6024425.html 1.这段代码在画面上输出"Hello World!". <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--这是我们的View--> <

js学习记录

比较运算符 当我们对Number做比较时,可以通过比较运算符得到一个布尔值: 2 > 5; // false 5 >= 2; // true 7 == 7; // true 实际上,JavaScript允许对任意数据类型做比较: false == 0; // true false === 0; // false 要特别注意相等运算符==.JavaScript在设计时,有两种比较运算符: 第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果: 第二种是===比较,它不会自