美文网首页
小测-dom-41

小测-dom-41

作者: ShineaSYR | 来源:发表于2019-12-13 17:33 被阅读0次

    小测-dom-41

    知识点:

    拖拽

    DataTransfer
    拖拽献祭中的黑山羊-DataTransfer对象
    MDN-DataTransfer

    事件 事件 事件 事件
    dragstart 拖拽开始 dragend 拖拽结束
    dragenter 拖拽进入 dragleave 拖拽离开
    drop 拖拽释放 dragover 拖拽经过

    复制粘贴

    ClipboardEvent.clipboardData
    利用剪切板JS API优化输入框的粘贴体验
    MDN-ClipboardEvent/clipboardData

    表单行为

    Form 表单提交知识的总结(全)

    小测题目-dom41
    html如下
    <p>132-0803-3621(短横线需要过滤)</p>
    <p>132-0803-3621@qq.com(短横线不能过滤)</p>
    <form id="form">
        <input id="input" placeholder="邮箱或密码">
    </form>
    

    我的答案

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>DOM基础测试41</title>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@_nu/html-validator" />
    </head>
    <body>
    <p>132-0803-3621(短横线需要过滤)</p>
    <p>132-0803-3621@qq.com(短横线不能过滤)</p>
    <form id="form">
        <input id="input" placeholder="邮箱或密码">
    </form>
        <script type="text/javascript">
            function telTrim(str) {
                var tel = str.replace(/\-/g, '');
                if(/^\d{11}$/.test(tel)) {
                    str = tel;
                }
                return str;
            }
            var mForm = document.querySelector("#form");
            var mIpt = document.querySelector("#input");
            // 拖拽
            mIpt.addEventListener("drop", function(event) {
                event.preventDefault();
                mIpt.value = telTrim(event.dataTransfer.getData('text'));
            })
            // 复制粘贴
            mIpt.addEventListener("paste", function(event) {
                event.preventDefault();
                var txt = event.clipboardData.getData('text') || window.clipboardData.getData('text');
                mIpt.value = telTrim(txt);
    
            })
            // 
            mForm.addEventListener('submit', function(event) {
                event.preventDefault();
                mIpt.value = telTrim(mIpt.value);
            })
            
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:小测-dom-41

          本文链接:https://www.haomeiwen.com/subject/cnafnctx.html