将setSelectionRange与模糊结合使用 - Chrome和Safari中的差异

时间:2017-05-11 22:52:38

标签: javascript google-chrome reactjs safari cross-browser

我正在尝试修复一个代码,该代码具有onblur的事件监听器,它执行setSelectionRange。我注意到在Chrome上使用它时,on blur事件会将光标移动到下一个标签索引。但是在safari上,光标仍保留在同一个元素上,光标移动到setSelectionRange中指定的位置。

问题

  1. 我在做模糊事件时是否应该使用setSelectionRange?
  2. 有没有办法在两个浏览器上一致地使用setSelectionRange。我可以让Safari的工作方式与Chrome相同吗?
  3. 这是一个hello world代码,显示当我从Safari vs Chrome中的字段中跳出时光标的行为方式不同:

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <title>JS Bin</title>
      <script>
        function handleBlur() {
          event.target.setSelectionRange(1,1)
        };
      </script>
    </head>
    <body>
      <input value="First Name" onblur="handleBlur()">
      <input value="Last Name" onblur="handleBlur()">
    </body>
    </html>
    

0 个答案:

没有答案