zoukankan      html  css  js  c++  java
  • 2.属性篇(新增的一些属性)

    # 2.属性篇
     
    - 1. placeholder --实际应用中可用
        用于input的提示信息
    ```html
    <input type="text" placeholder="手机/邮箱/用户名">
    ```
     
    - 2. Calendar, date, time, email, color, range, url, search --实际应用中一般不使用,兼容性有问题
    ```html
    <form>
        <!-- Calendar -->
        <input type="date"> <!-- chrome支持,Safari不支持,IE不支持 -->
        <input type="time"><!-- chrome支持,Safari不支持,IE不支持 -->
        <input type="week"><!-- chrome支持,Safari不支持,IE不支持 -->
        <input type="datetime-local"><!-- chrome支持,Safari不支持,IE不支持 -->
     
        <input type="number"> <!--限制输入为数字chrome支持,Safari不支持,IE不支持-->
        <input type="email"><!-- chrome,Firefox支持,Safari不支持,IE不支持 -->
        <input type="color"><!-- chrome支持,Safari不支持,IE不支持 -->
        <input type="range" min="1" max="100" name="range"><!-- chrome支持,Safari支持,firefox不支持,IE不支持 -->
        <input type="search" name="search"><!-- chrome支持,Safari支持一点,IE不支持 -->
        <input type="url"><!-- chrome支持,firefox支持,Safari不支持,IE不支持 -->
        <input type="submit">
    </form>
    ```
     
    - 3. contenteditable --实际应用中可用
        对元素中的文本节点可以编辑
     
        属性可以继承,父元素有此属性,子元素没有,子元素继承父元素此属性
    ```html
    <div contenteditable="true">
        hello<br>
        <span>world</span>
    </div><!--没有兼容性问题,这个属性是可以使用的-->
    ```
     
    - 4. draggable --实际应用中一般不使用,兼容性有问题
        使元素可拖拽
     
        拖拽的生命周期:
            拖拽开始,拖拽进行中,拖拽结束
        拖拽的组成:
            被拖拽的物体,目标区域(目标元素)
     
        被拖拽元素的事件:
            ondragstart:拖拽开始事件,按下物体的一瞬间是不会触发拖拽开始事件的
            ondrag:拖拽进行事件
            ondragend:拖拽结束事件
            通过开始事件中e.clientX和结束事件中e.clientX可以计算出元素横移的距离
        拖拽目标元素的事件:
            ondragenter:被拖拽元素上的鼠标进入目标区域才触发的,不是被拖拽元素图形进入目标元素就触发的。
            ondragover:被拖拽元素上的鼠标进入目标区域会不停的触发。
            ondragleave:被拖拽元素上的鼠标离开目标区域触发。
            ondrop:被拖拽元素上的鼠标在目标区域松开触发。只有在ondragover中阻止默认事件e.preventDefault(),才会触发ondrop事件
        所有的标签元素,当拖拽周期结束时,默认事件是回到原处
        事件是由行为触发的,但是一个行为可以不止触发一个事件
    ```html
    <style>
        .test{
            100px;
            height:100px;
            background:#f0f;
            position:absolute;
            left:0;
            top:0;
        }
        .target{
            200px;
            height:200px;
            border:1px solid black;
            position:absolute;
            left:600px;
            top:200px;
        }
    </style>
    <div class="test" draggable="true"></div><!--chrome,safari支持,firefox不支持-->
    <div class="target"></div>
    <script>
        var oDragDiv = document.getElementsByClassName("a")[0];
        oDragDiv.ondragstart = function(e){
            console.log(e);
        }
        oDragDiv.ondrag = function(e){
            console.log(e);
        }
        oDragDiv.ondragend = function(e){
            console.log(e);
        }
    </script>
    <script>
        //实现拖拽功能
        var oDragDiv = document.getElementsByClassName("a")[0];
        var beginX = 0,
            beginY = 0;
        oDragDiv.ondragstart = function(e){
            beginX = e.clientX;
            beginY = e.clientY;
        }
        oDragDiv.ondragend = function(e){
            var x = e.clientX - beginX;
            var y = e.clientY - beginY;
            oDragDiv.style.left = oDragDiv.offsetLeft + x + "px";
            oDragDiv.style.top = oDragDiv.offsetTop + y + "px";
        }
    </script>
    <script>
        //拖拽到目标区域
        var oDragDiv = document.getElementsByClassName("a")[0];
        oDragDiv.ondragstart = function(e){
        }
        oDragDiv.ondragend = function(e){
        }
     
        var oDragTarget = document.getElementsByClassName("target")[0];
        oDragTarget.ondragenter = function(e){
            
        }
        oDragTarget.ondragover = function(e){
            e.preventDefault();
        }
        oDragTarget.ondragleave = function(e){
            
        }
        oDragTarget.ondrop = function(e){
            console.log("drop");
        }
    </script>
     
    <!--默认可拖拽标签 -->
    <a href="http://www.baidu.com">baidu</a>
    <img src="1.jpg">
     
    ```   
     
    - 5. e.dataTransfer.effectAllowed 和 e.dataTransfer.dropEffect --实际应用中一般不使用,兼容性有问题
        e.dataTransfer.effectAllowed:写在ondragstart事件中,用来改变鼠标样式
        e.dataTransfer.dropEffect:写在ondrop事件中,用来改变鼠标样式
    ```html
    <style>
        .test{
            100px;
            height:100px;
            background:#f0f;
            position:absolute;
            left:0;
            top:0;
        }
        .target{
            200px;
            height:200px;
            border:1px solid black;
            position:absolute;
            left:600px;
            top:200px;
        }
    </style>
    <div class="test" draggable="true"></div><!--chrome,safari支持,firefox不支持-->
    <div class="target"></div>
    <script>
        //拖拽到目标区域
        var oDragDiv = document.getElementsByClassName("a")[0];
        oDragDiv.ondragstart = function(e){
            e.dataTransfer.effectAllowed = "link";
        }
        var oDragTarget = document.getElementsByClassName("target")[0];
        oDragTarget.ondrop = function(e){
            e.dataTransfer.dropEffect = "link";
        }
    </script>
    ```
     以上是markdown格式的笔记
  • 相关阅读:
    [转]对内核函数IoCompleteRequest的分析
    [转]IoCompleteRequest函数源码
    install xcode_3.2.5_and_iOS_sdk_4.2 _final with mac lion10.7.3
    java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut
    滑动导航栏+滚动页面
    Struts2自动添加 table tr 等问题
    eclipse调优
    Oracle 11g导出来的dmp导入到 10g的数据库(IMP00010:不是有效的导出文件,头部验证失败)
    oracle bakup
    ANDROIDT TEST
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/12969535.html
Copyright © 2011-2022 走看看