zoukankan      html  css  js  c++  java
  • javascript一句话备忘录

    1. 禁用右键菜单

    document.oncontextmenu = 
    function()
    {
    return false;
    };

    2. 禁用文字选择

    document.onselectstart = 
    function()
    {
    return false;
    };

    3. 通过ID获取DOM对象

    var div = document . getElementById("myDiv");
    div.innerHtml="myDiv...ID...";

    4. 处理DOM对象事件

    (0)DOM对象分为两个类型:捕获事件冒泡事件.假如html如下:

    <body>
    <div id = "div1" class="divs" style="height:60px;">
    div1 div1 div1
    <div id = "div2" class="divs" style="height:40px;">
    div2 div2 div2
    <div id = "div3" class="divs" style="height:20px">
    div3 div 3 div3
    </div>
    </div>
    </div>
    </body>

    那么捕获事件的传递顺序是:document->div1->div2->div3;冒泡事件的传递顺序是:div3->div2->div1->document.

    捕获事件的用意在阻止正常的事件传递流程;冒泡事件的用意在让每个对象树按照正确顺序处理事件。

    (1)冒泡事件处理

    方法A:改写事件处理接口,例如:

    var obj = document.getElementById("div1");
    obj.onclick = function(e)
    {
    alert("#div1 on click");
    };

    方法B:设置事件处理回调,例如:

    var obj = document.getElementById("div1");
    obj.addEventListener("click", function(e)
    {
    alert("#div1 on click");
    }, false); // 注意这里是false,代表设置冒泡事件.

    (2)捕获事件处理

    类似(1)中的方法B,参数传递成true即可,例如:

    var obj = document.getElementById("div1");
    obj.addEventListener("click", function(e)
    {
    alert("#div1 on click");
    }, true); // 注意这里是true,代表设置捕获事件.

    (3)停止默认传递流程

    有一种情况是:我们截获捕获类事件,不想让它继续传递,方法是:

    var obj = document.getElementById("div1");
    document.addEventListener("click", function(e)
    {
    alert("document on click");
    e.stopPropagation(); //此句阻止继续传递
    }, true); // 注意这里是true,代表设置捕获事件.
  • 相关阅读:
    Java中String类两种实例化的区别(转)
    Linux内核如何装载和启动一个可执行程序(转)
    CentOS 7 下安装jdk1.8(转)
    MySQL中死锁(转)
    CTF取证方法大汇总,建议收藏!
    实战经验|大神战队都在i春秋教你打CTF
    CTF丨从零开始搭建WEB Docker靶场
    业务逻辑漏洞探索之敏感信息泄露
    实战经验丨业务逻辑漏洞探索之活动类漏洞
    漏洞经验分享丨Java审计之XXE(下)
  • 原文地址:https://www.cnblogs.com/linucos/p/2232735.html
Copyright © 2011-2022 走看看