Select 使用 InputMask jQuery 插件的所有字段内容
Select All Field Contents using InputMask jQuery Plugin
我正在使用 inputMask jQuery 插件,并且我想 select 当一个字段成为焦点时该字段的全部内容。
这是我到目前为止尝试过的方法:
$('.numbers-only').inputmask("numeric", {
radixPoint: ".",
groupSeparator: ",",
digits: 2,
autoGroup: true,
prefix: '',
rightAlign: false,
positionCaretOnClick: "select",
oncleared: function () { self.Value(''); }
});
有人建议添加:
positionCaretOnClick: "select",
这没有用。字段内容未得到 selected。
我也试过这个:
$(document).on('click, focus', '.highlight-on-focus', function() {
$(this).select();
});
这也没有按预期工作。
相反,插入符位置只是简单地指向字符串的末尾。
我该如何解决这个问题?
TIA,
布兰登
对您编写的代码稍作改动,它应该是这样的:
$(".numbers-only").focus(function(){
$(this).select();
});
当 InputMask 的实例在输入上 运行 时,插件似乎处理 things on focus...不要问我什么!
但似乎如果 setTimeout()
短至 1 毫秒,select()
就可以了。
看看下面的链接 .on()
方法。 ;)
$(document).ready(function(){
$('.numbers-only').inputmask("numeric", {
radixPoint: ".",
groupSeparator: ",",
digits: 2,
autoGroup: true,
prefix: '',
rightAlign: false,
//positionCaretOnClick: "select",
oncleared: function () { self.Value(''); }
}).on("focus",function(){
var that = $(this);
setTimeout(function(){
that.select();
},1)
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/css/inputmask.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/jquery.inputmask.bundle.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.numeric.extensions.js"></script>
<input class="numbers-only" value="2200.23">
我正在使用 inputMask jQuery 插件,并且我想 select 当一个字段成为焦点时该字段的全部内容。
这是我到目前为止尝试过的方法:
$('.numbers-only').inputmask("numeric", {
radixPoint: ".",
groupSeparator: ",",
digits: 2,
autoGroup: true,
prefix: '',
rightAlign: false,
positionCaretOnClick: "select",
oncleared: function () { self.Value(''); }
});
有人建议添加:
positionCaretOnClick: "select",
这没有用。字段内容未得到 selected。
我也试过这个:
$(document).on('click, focus', '.highlight-on-focus', function() {
$(this).select();
});
这也没有按预期工作。
相反,插入符位置只是简单地指向字符串的末尾。
我该如何解决这个问题?
TIA,
布兰登
对您编写的代码稍作改动,它应该是这样的:
$(".numbers-only").focus(function(){
$(this).select();
});
当 InputMask 的实例在输入上 运行 时,插件似乎处理 things on focus...不要问我什么!
但似乎如果 setTimeout()
短至 1 毫秒,select()
就可以了。
看看下面的链接 .on()
方法。 ;)
$(document).ready(function(){
$('.numbers-only').inputmask("numeric", {
radixPoint: ".",
groupSeparator: ",",
digits: 2,
autoGroup: true,
prefix: '',
rightAlign: false,
//positionCaretOnClick: "select",
oncleared: function () { self.Value(''); }
}).on("focus",function(){
var that = $(this);
setTimeout(function(){
that.select();
},1)
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/css/inputmask.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/jquery.inputmask.bundle.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.numeric.extensions.js"></script>
<input class="numbers-only" value="2200.23">