zoukankan      html  css  js  c++  java
  • JS学习笔记

    <script>
        // 事件总共有2个部分,
        //1.点击鼠标右键的表现 oncontextmenu   2.点击鼠标左键的表现(即普通点击onclick)
        // 点击右键,div位置定位到鼠标所在位置, 且阻止鼠标右键的默认菜单
        // 点击左键(即普通的onclick点击),div消失。
    
        document.oncontextmenu=function (ev)
    // oncontextmenu  点击右键触发
    {
        var oEvent=ev||event;
        var oDiv=document.getElementById('div1');
        
        oDiv.style.display='block';
        oDiv.style.left=oEvent.clientX+'px';
        oDiv.style.top=oEvent.clientY+'px';
        
        return false;
    };
    
    document.onclick=function ()
    // onclick 正常点击时触发 (鼠标左键,任意点击页面)
    {
        var oDiv=document.getElementById('div1');
        
        oDiv.style.display='none';
    };
    </script>

    自定义右键菜单,错误记录

    <style>
        *{margin:0;padding:0; list-style: none;}
        #div1{
            background-color: #ccc;
            border: 1px solid #000;
            width: 80px;
            display: none;
    
            position:absolute;
            /* CSS没写绝对定位,就不能移动!!!不要再忘记了!!!*/
        }
        </style>
    
        <script>
    
        function getPos(ev) //这个函数的先后顺序有区别吗?
        {
            // 这里没有涉及到移出当前屏幕的滚动条情况。
            var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
            var scrollLeft = document.documentElement.scrollLeft||document.body.scrollLeft;
    
            //var oEvent = ev||event; 
            // 这个oEvent 应该是其他事件调用这个函数时使用,不是封装函数本身里的。
    
            // return{x:oEvent.clientX + scrollLeft, y:oEvent.clientY + scrollTop};
            return{x:ev.clientX + scrollLeft, y:ev.clientY + scrollTop}
        }
    
        document.oncontextmenu = function (ev)  // 这里没写ev!!!
        {
            //本条补写:
            var oEvent = ev||event;
    
            var oDiv = document.getElementById('div1');
    
             var pos = getPos(oEvent)
    
            // var pos = getPos(ev);  // 如果要调用getPos函数,这里括号里怎么表示?
    
            oDiv.style.display = 'block';
            oDiv.style.left = pos.x + 'px';
            oDiv.style.top = pos.y + 'px';
    
            return false;
        };
    
        document.onclick = function ()
        {
            var oDiv=document.getElementById('div1');
        
            oDiv.style.display='none';
        };
    
        </script>
        window.onload = function(){
            var oTxt = document.getElementById('txt1');
    
            oTxt.onkeydown = function(ev){
            //document.onkeydown = function(ev)  //应该是给文本框加事件,不是document
            // onkeydown这个事件不只是document可以用,在哪里按键盘了就在哪用。     
    
                var oEvent = ev||event;
    
             if(oEvent.keyCode!=8 && oEvent.keyCode<49 || oEvent.keyCode>57)
                {
                    return false;
                }
            };
        }
  • 相关阅读:
    java----设计模式--创建型模式(GOF23)
    java----作用域
    java和python对比----实例化的对象属性:
    java----关键字
    java----Java的栈,堆,代码,静态存储区的存储顺序和位置
    java----面对对象
    算法----取0~30不重复的10个整数
    算法----二分查找算法
    织梦 验证码不显示问题
    dedecms 后台修改系统设置,但是config.cache.inc.php文件不能写入
  • 原文地址:https://www.cnblogs.com/carpenterzoe/p/10191789.html
Copyright © 2011-2022 走看看