Input length limitation (Vue自定義指令)

記錄一下vue.js 自定義指令 -- 輸入框字?jǐn)?shù)長(zhǎng)度限制

//css
.valLengthCounter {
    position: absolute;
    right: 5px;
    font-size: 12px;
    color: #888;
    display: none;
}
//JavaScript
Vue.directive('limitation', {
    bind: function(el, binding) {
    },
    inserted: function(el, binding) {
        $(el).css('transition',' all 0.3s')
        $(el).css('width',' 100%')
        var counter = $("<span class='valLengthCounter '></span>")
        $(el).attr('maxlength', binding.value)
        $(el).parent('div').css({
            'position': 'relative',
            'display': 'flex',
            'align-items': 'center',
            'justify-content': 'space-between'
        })
        $(el).parent('div').append(counter)
        $(el).siblings('.valLengthCounter').text($(el).val().length + '/' + binding.value)
        el.addEventListener('keyup', function() {
            curLength = $(el).val().length
            $(el).siblings('.valLengthCounter').text($(el).val().length + '/' + binding.value)
        })
        el.addEventListener("focus", function() {
            $(el).siblings('.valLengthCounter').fadeIn(300)
                // cleaner.css('right', counter.width() + 30)
            $(el).css('paddingRight', $(el).siblings('.valLengthCounter').width() + 20)
        })
        el.addEventListener("blur", function() {
            $(el).siblings('.valLengthCounter').fadeOut(300)
                // cleaner.css('right', 5)
            $(el).css('paddingRight', 0)
        })
    }
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容