zoukankan      html  css  js  c++  java
  • 2016年5月27日下午(妙味课堂js基础-3笔记三(事件))

    一、默认行为

      1. 什么是事件的默认行为(默认事件)

        (1)浏览器不需要我们去编写,浏览器自身就已经具备的功能;(点击右键弹出页面菜单)

        (2)如何阻止默认行为

      2. 上下文菜单:oncontextmenu(右键菜单)

    <script type="text/javascript">
            document.oncontextmenu=function () {
                alert("a")
            };
        </script>

      点击右键就会弹出a,且会出现右键菜单;

    <script type="text/javascript">
            document.oncontextmenu=function () {
                return false;
            };
        </script>

      已经阻止了右键菜单,点击无法弹出。

      再来看一下一个阻止表单提交的实例:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
        <script type="text/javascript">
            window.onload=function ()
            {
                var oForm=document.getElementById('form1');
                oForm.onsubmit=function ()
                {
                    return false;
                };
            };
        </script>
    </head>
    <body>
        <form id="form1" action="http://www.miaov.com/">
            <input type="submit" />
        </form>
    </body>

      无论怎么点击提交按钮都无法提交网址。这里就有关于表单校验了。

      3. 文本框内禁止输入内容实例(阻止onkeydown)

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
        <script type="text/javascript">
        window.onload=function ()
        {
            var oTxt=document.getElementById('txt1');
            oTxt.onkeydown=function ()
            {
                return false;
            };
        };
        </script>
    </head>
    <body>
        <input id="txt1" type="text" />
    </body>

       这个实例在输入框中间无法输入字母,但是可以输入汉字(why?)

      4. 自定义右键菜单实例

    <head>
        <style type="text/css">
        * {margin:0; padding:0;}
        #ul1 {100px; background:#CCC; border:1px solid black; position:absolute; display:none;}
        </style>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
        <script type="text/javascript">
            document.oncontextmenu=function (ev)
            {
                var oEvent=ev||event;
                var oUl=document.getElementById('ul1');
    
                oUl.style.display='block';
                oUl.style.left=oEvent.clientX+'px';
                oUl.style.top=oEvent.clientY+'px';
                return false;            //让系统的右键菜单消失
            };
            document.onclick=function ()
            {
                var oUl=document.getElementById('ul1');
                oUl.style.display='none';                          //点击页面就消失;
            };
        </script>
    </head>
    <body>
        <ul id="ul1">
            <li>登陆</li>
            <li>回到首页</li>
            <li>注销</li>
            <li>加入VIP</li>
        </ul>
    </body>

      5. 只能输入数字的输入框实例:onkeydown、onkeyup

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
        <script type="text/javascript">
            window.onload=function ()
            {
                var oTxt=document.getElementById('txt1');
                oTxt.onkeydown=function (ev)
                {
                    var oEvent=ev||event;
                    if(oEvent.keyCode!=8 && (oEvent.keyCode<48 || oEvent.keyCode>57))
                    {
                        return false;
                    }
                };
            };
        </script>
    </head>
    <body>
        <input id="txt1" type="text" />
    </body>

    二、拖拽

      6. 拖拽实例:拖拽原理、三个事件、document范围、解决FF的bug


      7. 限制拖拽范围的条件:document.documentElement.clientWidth

  • 相关阅读:
    转:SVN常见问题与解决方法
    Mac OS 下的解压缩软件——The Unarchiver
    Django报错 The serializer field might be named incorrectly and not match any Got AttributeError when attempting to get a value for field `author_for` on serializer `KnownledgeBaseListSerializer`
    Django 生成数据库表时的报错TypeError: __init__() missing 1 required positional argument: 'on_delete'
    webstorm不能中文输入问题
    npm报错This is probably not a problem with npm. There is likely additional logging
    Django 报错no sucn column: OpretionalError
    Python 报错 AttributeError: module 'django.db.models' has no attribute 'SubfieldBase'
    详解Django中Request对象的相关用法
    Python中import, from...import,import...as的区别
  • 原文地址:https://www.cnblogs.com/zzjeny/p/5535819.html
Copyright © 2011-2022 走看看