js_select事件

事件描述

  • 当选中文本时触发所在元素的select事件。
  • 兼容性以及区别:在IE9+和现代浏览器中,只有当用户选择了文本且松开鼠标左键后才会触发该事件。在IE8及以下浏览器中,每当用户选择一个字符就会触发一次select事件。

兼容性示例

<input type="text" id="a" value="请随意选择字符串" />
<input type="text" id="b" />
<script>
    var a = document.getElementsByTagName("input")[0];
    // 获取第一个文本框的引用指针
    var b = document.getElementsByTagName("input")[1];
    // 获取第二个文本框的引用指针
    a.onselect = function(){  // 为第一个文本框绑定select事件处理函数
        if (document.selection){  // 兼容IE
            o = document.selection.createRange(); // 创建一个选择区域
            if(o.text.length > 0)  // 如果选择区域内存在文本
            b.value = o.text;   // 则把该区域内的文本赋值给第二个文本框
        }else{  // 兼容DOM
            p1 = a.selectionStart;  // 获取文本框中选择的初始位置
            p2 = a.selectionEnd;  // 获取文本框中选择的结束位置
            b.value = a.value.substring(p1, p2);
            // 截取文本框中被选取的文本字符串,然后赋值给第二个文本框
        }
    }
</script>

参考资料

JS select事件:选择文本

posted @ 2021-01-10 10:19  Syinho  阅读(1818)  评论(0编辑  收藏  举报