91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

牡丹江市| 永平县| 山阳县| 五莲县| 定陶县| 安仁县| 依兰县| 堆龙德庆县| 慈利县| 邢台市| 安顺市| 山阴县| 阳山县| 潞西市| 北川| 公主岭市| 古蔺县| 右玉县| 红桥区| 栾城县| 武乡县| 沁源县| 漾濞| 合江县| 河源市| 柳州市| 西峡县| 济阳县| 吕梁市| 长治县| 若尔盖县| 舞阳县| 巴彦县| 白玉县| 太和县| 萨嘎县| 临漳县| 万载县| 浦北县| 深州市| 岳西县|