亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jQuery-自動輸入文字大?。ú皇莟extarea?。?/h1>

如何使用jQuery自動調整輸入類型=“文本”字段的大?。课蚁M婚_始的寬度為100像素,然后在用戶輸入文字時使其自動變寬……這可能嗎?
查看完整描述

3 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

我認為沒有完美的解決方案,因為您無法檢測輸入到輸入元素的文本的實際寬度。這完全取決于您使用的字體,瀏覽器中的縮放設置等。


但是,如果可以選擇一種字體,在其中可以實際計算文本的像素數(這是最難的部分,但我想您可以嘗試以某種方式進行估算)。您可以使用它來更改輸入字段的寬度。


 $('input').keyup(function () {

     // I'm assuming that 1 letter will expand the input by 10 pixels

     var oneLetterWidth = 10;


     // I'm also assuming that input will resize when at least five characters

     // are typed

     var minCharacters = 5;

     var len = $(this).val().length;

     if (len > minCharacters) {

         // increase width

         $(this).width(len * oneLetterWidth);

     } else {

         // restore minimal width;

         $(this).width(50);

     }

 });


查看完整回答
反對 回復 2019-11-14
?
MM們

TA貢獻1886條經驗 獲得超2個贊

您好,我不知道您是否還在尋找,但是當我正在尋找一個腳本來做同樣的事情時,我遇到了這個問題。因此,希望這對嘗試這樣做的人有所幫助。


function editing_key_press(e){

    if(!e.which)editing_restore(this.parentNode);

    var text = $('<span>')

        .text($(this).val())

        .appendTo(this.parentNode);

    var w = text.innerWidth();

    text.remove();

    $(this).width(w+10);

}

此代碼的邏輯是將內容跨度放在頁面上,然后獲取此內容的寬度并將其刪除。我確實遇到的問題是我必須讓它同時在keydown和keyup上運行才能成功工作。


希望這會有所幫助,可能不會,因為我只是在短時間內進行jquery。


查看完整回答
反對 回復 2019-11-14
  • 3 回答
  • 0 關注
  • 612 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號