亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

input寬度隨內容變化

發布時間:2020-06-22 06:50:44 來源:網絡 閱讀:770 作者:Gendan5 欄目:開發技術

今天收到一個需求,input的寬度隨著內容的變化而變化,最重要的還有最大寬度的限制。

然后各種查資料個嘗試,做了三個小案例:

一、獲取文字數量*文字寬度去計算

雖然說這個方法代碼量比較少,但是在不同的字體中還是有一定的誤差的,所以建議不要使用,但是分享的角度來講,我還是拿出來寫一寫。

<input type="text"/>
<script type="text/javascript">(www.gendan5.com)
$(function(){
$('input').on('keydowm keyup',function () {
var textLength = $(this).val().length,//獲取input的文字數量
inputWidth = textLength*12;//12是字的寬度
$(this).width(inputWidth);
});
});
</script>
這個方法對于中文還是可以的,但是一般遇到中英文混合就不行了,所以如果是中英文混合的input我建議放棄。

二、利用scrollWidth來制作一個邊長的(變不了短)

這個是有缺陷的,因為我們獲取的是scrollWidth指,所以他只能獲取最長的,而不能獲取文字不撐開的時候的長度。

咱們直接貼代碼把

<input type="text"/>
<script type="text/javascript">
$(function () {
$('input').on('keydowm keyup',function () {
var adad = $('input').get(0).scrollWidth;
console.log(adad);
$(this).width(adad);
})
})
</script>

三、文本比較法,這個方法雖然比較繁雜,但是無論誤差還是可行性都是最高的

咱們先來個布局:

<div class="box">
<input type="text" value="請假"/>
<div></div>
</div>
<style>
.box div{ float:left;}
.box input{ width:80px; text-align:center;}
</style>
再來jq:

<script type="text/javascript">
$(function(){
function inputWidth(){
$('.box div').html($('.box input').val());//把input的文字給div
var inwidth = $('.box div').width();//獲取div的寬度
if (80 < inwidth && inwidth < 800){
$('.box input').width(inwidth);//把div的寬度給input
};
};
inputWidth();
$('.box input').on('keydown keyup input',function(){//時時更新
inputWidth();
});
});
</script>
其實JQ和原生JS一樣的道理,如果你使用JQ的直接拿走就可以了,如果是原生的按照這個想法寫就可以了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛南县| 米泉市| 于田县| 湖北省| 六枝特区| 百色市| 凤阳县| 河间市| 凤山市| 理塘县| 蒙山县| 沙河市| 榆林市| 林西县| 陆丰市| 湾仔区| 岳西县| 驻马店市| 民勤县| 蒙城县| 荆州市| 沁水县| 宁海县| 同江市| 桐乡市| 遂昌县| 东明县| 林甸县| 福建省| 望都县| 遵义市| 武平县| 武威市| 都昌县| 称多县| 青州市| 紫阳县| 同江市| 四川省| 吴桥县| 衡东县|