zoukankan      html  css  js  c++  java
  • JavaScript中HTML DOM focus()与onblur() setSelectionRange()用法

    今天在写一个todolist待办事项项目,需要单击编辑待办事项的内容,百度搜了一下这几个方法的用法,总结一下

    focus()方法:获得键盘焦点,单击之后就调用绑定的js方法,在span标签里面加一个输入框,然后进行编辑

    onblur()方法:失去键盘焦点,编辑结束之后,随意鼠标单击任意地方更新编辑的内容

    setSelectionRange():js控制输入框光标位置

    这三个方法组合起来可以用做鼠标点击事件,然后进行内容编辑,内容编辑时使用setSelectionRange()选中所有文本,就可以不需要一个一个删除了

    <body>
        <span id="s1" onclick="change()">这是一段文本</span>
        <script>
            function change() {
                var span = document.getElementById('s1');
                var conent = span.innerHTML;
                span.innerHTML = "<input id='input' value='"+conent+"'/>";
                var input = document.getElementById('input');
                input.setSelectionRange(0,input.value.length);
                input.focus();//获得键盘焦点
                input.onblur = function () {//失去键盘焦点
                    span.innerHTML = input.value;//更改span的文本内容
                }
            }
        </script>
    </body>
    
  • 相关阅读:
    [NOI2007]生成树计数
    [NOI2009]变换序列
    BZOJ3261 最大异或和
    [SHOI2011]双倍回文
    [TopCoder14647]HiddenRabbits
    [HDU5709]Claris Loves Painting
    [BZOJ4559][JLOI2016]成绩比较
    [CF995F]Cowmpany Cowmpensation
    [TopCoder11557]MatrixPower
    [UOJ198][CTSC2016]时空旅行
  • 原文地址:https://www.cnblogs.com/wualin/p/10025764.html
Copyright © 2011-2022 走看看