JS基本入門篇(二十)—事宜對象以及案例(二)

案例一.點擊按鈕,選中input中的悉數內容

select()要領:選中悉數。

點擊按鈕選中輸入框中的內容!!!!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        input,
        button{
            margin: 0;
            padding: 0;
            outline: none;
        }
        input{
            width:200px;
            height:40px;
            border:1px solid black;
            font-size: 20px;
        }
        button{
            width: 300px;
            line-height: 40px;
            vertical-align: top;
        }
    </style>
</head>
<body>
    <input type="text">
    <button>點擊此按鈕選中input的悉數內容</button>
    <script>
        var input=document.getElementsByTagName("input")[0];
        var button=document.getElementsByTagName("button")[0];
        button.onclick=function () {
            input.select();
        }
    </script>
</body>
</html>

案例二.點擊按鈕,選中input中的悉數內容,並複製到粘貼板上。

document.execCommand(“copy”);//複製到粘貼板上。

點擊按鈕,選中並複製到粘貼板上,點擊檢察結果以及代碼

<body>
<input type="text">
<button>點擊此按鈕選中input的悉數內容</button>
<script>
    var input=document.getElementsByTagName("input")[0];
    var button=document.getElementsByTagName("button")[0];
    button.onclick=function () {
        input.select();//選中input的一切內容
        document.execCommand("copy");//複製到粘貼板上
    }
</script>
</body>

事宜對象

事宜:當用戶對頁面舉行操縱的交互時,會觸發對應元素的事宜。
事宜對象:

        event
            當發作事宜,實行事宜處置懲罰函數的時候,該時候的詳細信息。
        注重:假如函數是直接挪用的,則沒有事宜對象
        注重:差別事宜中的event對象可能有差別

舉例說明:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
    #box{
        width:100px;
        height:100px;
        background-color:red;
    }
</style>
</head>
<body>
<div id="box"></div>
<script>
    var box = document.getElementById("box");
//    box.onmouseover = fn;//打印undefined
//    box.onmousedown = fn;//打印undefined
    document.onkeydown = fn;//打印按下的鍵值
//    fn();//報錯
    function fn(){
//        console.log( typeof event );
        console.log( event.keyCode );
    }
</script>

</body>
</html>

案例三:模仿蘋果電腦菜單

點擊檢察結果以及代碼!!!!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
            margin: 0;
            padding: 0;
        }
        .wrap{
            border:1px solid black;
            position: absolute;
            bottom:100px;
            text-align: center;
            width: 100%;
        }
        .wrap  div{
            width: 100px;
            height: 100px;
            background: cornflowerblue;
            display: inline-block;
            vertical-align: bottom;
        }
    </style>
</head>
<body>
    <div class="wrap">
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </div>
    <script>
        var wrap=document.getElementsByClassName("wrap")[0];
        var divs=wrap.getElementsByTagName("div");
        document.onmousemove=function () {
            for(var i=0;i<divs.length;i++){
                calc( divs[i],event);
            }
        }
        function calc( obj,mouseEvent ){
            var objPos = {
                //offsetLeft:相對於近來定位父級定位元素
                x: obj.offsetLeft + 50,
                //obj.getBoundingClientRect().top:間隔文檔頂部位置
                y: obj.getBoundingClientRect().top + 50
            }//元素中間點坐標
            var mosPos = {
                x: mouseEvent.clientX,
                y: mouseEvent.clientY
            }//鼠標所在位置
            var dis = Math.sqrt( Math.pow( objPos.x-mosPos.x,2 ) + Math.pow( objPos.y-mosPos.y,2 ) );
            var scale = 1;
            //當鼠標離原點中間間隔小於200時,則放大
            if( dis < 200 ){
                scale = (200 - dis) / 200 + 1;
            }
            obj.style.width = 100 * scale + "px";
            obj.style.height = 100 * scale + "px";
        }
    </script>
</body>
</html>
    原文作者:梁志芳
    原文地址: https://segmentfault.com/a/1190000015192460
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞