javascript - Jquery 选择行为在 IE 上有所不同

标签 javascript jquery

我有简单的代码:

    <input id="thisInput" class="MyInput"
                maxlength="3"
                value=" 0"
                type="text" />

和 JS 代码:

$("#thisInput").on( "click", function() {
  $(this).select();
});

在 Chrome 中这段代码。第一次单击选择输入中的所有值。另一个点击结束时没有选择 在 IE11 中,每次单击都会选择输入中的所有文本。

我的代码有点错误?或者 Chrome 或 IE 被窃听了? JSFIDDLe

最佳答案

喜欢@Jai commented ,这是 Chrome 的行为。就我个人而言,我不认为这是 Chrome 或 IE 的错误。

始终选择文本

如果您希望始终从输入中选择文本,您可以通过异步调用来欺骗它:

$("#thisInput").on("click", function() {
  setTimeout(function() {
    $(this).select();
  }.bind(this), 0);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="thisInput" class="MyInput" maxlength="3" value=" 0" type="text" />

切换选择

嗯,我看到的最好的解决方案是使用标志并切换它:

var select = false;
$("#thisInput").on("click", function() {
  if (select = !select) {
    $(this).select();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="thisInput" class="MyInput" maxlength="3" value=" 0" type="text" />

关于javascript - Jquery 选择行为在 IE 上有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28628313/

相关文章:

javascript - 手机导航点击出jquery

javascript - 使全框阴影支持百分比

javascript - 我想在提交表单后显示警报,PHP,JAVASCRIPT,HTML,AJAX

带有多个if的javascript if条件

javascript - window.open() 在 IE6 和 IE7 中不起作用

javascript - 选择克隆元素变量内的元素

javascript - 为什么使用 Knockout js 时这个 twitter Bootstrap 模式不起作用?

javascript - jquery 在鼠标悬停时停止图像旋转,在鼠标悬停/悬停时开始旋转

javascript - 如何删除所有特殊字符?

javascript - 日期格式在重新加载剑道网格时重置