2024-12-24 12选定文字弹窗框

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <style>

        div {

            width: 300px;

            margin: 50px;

        }

        #demo {

            width: 100px;

            height: 100px;

            background-color: pink;

            position: absolute;

            top: 0;

            left: 0;

            display: none;

        }

    </style>

</head>

<body>

<span id="demo"></span>

<div id="test">

    事件 三要素: 事件源.事件 = function(){ }

    * onclick 鼠标单击

    * ondblclick 双击

    * onmous

    事件 三要素: 事件源.事件 = function(){ }

    * onclick 鼠标单击

    * ondblclick 双击

    * onmouseover 鼠标经过

    * onmouseout 鼠标离开

    * onmousedown鼠标按下

    * onmouseup鼠标弹起

    * onmousemove 鼠标移动

    * onfocus 获取焦点

    * onblur 失去焦点

    * onchange 文本内容或者下拉 发生改变

    * onload  网页加载

    * unlaod  解载

    * window.onscroll 窗口发生滚动时

    * window.onresize 浏览器大写发生改变时

    * onreset 重置

    * onsubmit 提交

    *

</div>

<script>

    function $(id) {

        return document.getElementById(id);

    }

    document.onmousedown = function(event){

        var event = event || window.event;

        var targetId = event.target.id;

        console.log(targetId, event)

        if(targetId !="demo"){

              $("demo").style.display ="none";

        }

    }

    $("test").onmouseup = function(event){

        var event = event || window.event;

        var x = event.clientX;

        var y = event.clientY;

        var txt ;//存储选中的内容

        if(window.getSelection){//选中文字

            txt= window.getSelection().toString();//转为字符串

            console.log(txt);

        }else{

              txt = document.selection.createRange().text;//ie 的写法

        }

        if(txt){//  所有的字符串都是真的  ""是假的  所有的数字都是真的  0是假的

            showBox(x,y,txt);

        }

    }

    function showBox(a,b,str){

      setTimeout(function () {

          $("demo").style.display ="block";

          $("demo").style.left = a+"px";

          $("demo").style.top = b+"px";

          $("demo").innerHTML = str;

      },1000);

    }

</script>

</body>

</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1/offsetWidth 和 offsetHeight 得到对象的宽度和高度(自己的,与他人无关) offset...
    1a6a3a4c7ce8阅读 178评论 0 0
  • 三种定义函数的方式 变量声明提升 在函数体内部,声明变量,会把该声明提升到函数体的最顶端。 只提升变量声明,不赋值...
    J_L_L阅读 334评论 0 2
  • ***利用右边的选项卡给左边选中数据设置对应的色值*** 下面是全部代码: <!DOCTYPE html> ...
    九下下阅读 1,914评论 0 1
  • JavaScript 将字符串转换为数字 parseInt() ◆只保留数字的整数部分,不会进行四舍五入运算。 ...
    AkaTBS阅读 1,001评论 0 9
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45