3

我正在使用http://digitalbush.com/projects/masked-input-plugin/插件。

有一个带有定义掩码的输入文本:

<input type="text" id="txtMyInput" class="FocusSense"/>

和一个脚本:

$(document).ready(function () {
    jQuery(function ($) {            
        $("#txtMyInput").mask("?9.99");            
    });
    $(".FocusSense").focus(function () {
        this.select();
    });
})

如您所见,我想全选,txtMyInput但可惜!在焦点上,面具出现并消失.select()

我应该怎么做才能保存面具和.select()

4

5 回答 5

5

我想你在找什么,是这样的:

$(document).ready(function () {
    jQuery(function ($) {            
        $("#txtMyInput").mask("?9.99");            
    });
    $(".FocusSense").focus(function (e) {
      var that = this;
      setTimeout(function(){$(that).select();},10);
      return false;
    });
});

setTimeout 将“排队” select() 执行。所以它会在屏蔽完成后选择内容。

工作演示

于 2012-08-28T16:32:04.607 回答
2

您需要使用 $(this) 来获取当前对象。

$(document).ready(function () {
    jQuery(function ($) {            
        $("#txtMyInput").mask("?9.99");            
    });
    $(".FocusSense").focus(function () {
        $(this).select(); // instead of this.select();
    });
});
于 2012-08-28T15:35:43.653 回答
1

sory改变焦点改变点击功能;

jQuery(".FocusSense").click(function() {
    this.focus();
    this.select(); 
});​
于 2012-08-28T15:36:31.230 回答
0

this.select() 改变 jQuery(this).select();

$(".FocusSense").focus(function () {
    jQuery(this).select();
});
于 2012-08-28T15:20:04.070 回答
-1

这是 ' jQuery 屏蔽输入插件的副本。当文本框收到焦点时选择所有内容'我在其中发布了此修复的说明。

imeout方法是不必要的!

$(".yourMaskedInput").attr("readonly", true).select().removeAttr("readonly");
于 2014-04-29T15:54:13.230 回答