2013-07-08 25 views
1

很抱歉的長期問題的標題,但我不知道的最好的方式來字呢:-(如何解決jQuery MaskedInput插件的不同選定文本行爲?

的問題是,優秀的屏蔽輸入jQuery插件由Josh布什在輸入框中選擇上的文字如果面具的長度固定,但它會強制插入到字段的末尾,當面具中有一個可選字符時

如果您轉到他的演示頁面(http://digitalbush.com/projects/masked-input-plugin/),您可以看到此操作。

填寫日期,電話和電話+分機字段中的一些值,然後通過它們標籤。您會注意到日期和電話字段在f可以獲得焦點,但是當您鍵入Phone + Ext字段時,插入符號就會到達該字段的末尾。

我希望所有屏蔽字段的行爲都相同(選擇所有文本,如上面的前兩個示例中所示),而不管是否存在可選的掩碼字符。

有沒有其他人解決過這個問題,如果有的話,請問你是怎麼做到的?

在此先感謝。

Fixed-length masks select all text like so... Masks with optional characters force the caret to the end of the field.

回答

1

如果你不介意改變jquery.maskedinput-1.3.1.js,替代這段代碼開始行308:

caretTimeoutId = setTimeout(function(){ 
       writeBuffer(); 
       var trimmedMask = mask.replace('?',''); 
       if (pos == trimmedMask.length) { 
        input.caret(0, pos); 
       } else { 
        input.caret(pos); 
       } 
      }, 10); 

在縮小的文件你需要在字符3075來代替這個:

var t2=t.replace('?','');b(),e==t2.length 

我發現你的問題發佈提問差不多後,國際空間站ue:https://stackoverflow.com/questions/19794942/jquery-masked-input-will-not-select-on-focus-when-mask-contains-optional-operato