【问题标题】:How to select and deselect readonly input on mouseenter ande mouseleave如何在鼠标输入和鼠标离开上选择和取消选择只读输入
【发布时间】:2015-08-04 16:08:41
【问题描述】:

我使用的是 jquery 1.8.2,这是我的 html:

<input type="text" class=autoSelect" value="TEXT" readonly/>

我希望能够在 mouseenter 上选择文本,并在 mouseleave evnets 上取消选择(模糊),但是当我拥有只读属性时它不起作用。好吧,除了 .blur() 之外一切正常,两个事件都被触发并且 .select() 工作正常。我尝试了几种组合:

$('.autoSelect').mouseenter(function () {
    $(this).select();
});
enter code here
$('.autoSelect').mouseleave(function () {
    $(this).blur();
});

提前致谢!

【问题讨论】:

    标签: jquery input


    【解决方案1】:

    要取消选择文本,请使用以下代码。

    来源:https://stackoverflow.com/a/6187098/381709

    $('.autoSelect').mouseenter(function() {
    
      $(this).select();
    });
    
    $('.autoSelect').mouseleave(function() {
    
      if (document.selection) // IE
        document.selection.empty();
      else
        window.getSelection().removeAllRanges()
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text" id="myInput" class="autoSelect" value="TEXT" readonly/>

    【讨论】:

      【解决方案2】:

      试试这个:

      <input type="text" id="myInput" class=autoSelect" value="TEXT" readonly/>
      
      $('.autoSelect').mouseenter(function () {
          $('#myInput').attr('readonly', false);
          $(this).select();
      });
      enter code here
      $('.autoSelect').mouseleave(function () {
          $('#myInput').attr('readonly', true);
          $(this).blur();
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-18
        • 1970-01-01
        • 1970-01-01
        • 2012-01-25
        • 2016-02-20
        • 1970-01-01
        相关资源
        最近更新 更多