textarea change實(shí)時(shí)監(jiān)聽(tīng)觸發(fā)

在此次迭代中,留言回復(fù)模塊中有一個(gè)輸入字符,計(jì)算剩余字?jǐn)?shù)的功能。本不是什么大功能,但是需要兼容pc和移動(dòng)。

留言回復(fù)

是利用keyup(當(dāng)鍵盤(pán)毽子彈起)事件方法進(jìn)行計(jì)算,做的時(shí)候就擔(dān)心移動(dòng),pc是肯定是好用的。不知道移動(dòng)能不能識(shí)別,畢竟它的鍵盤(pán)和真實(shí)的鍵盤(pán)有區(qū)別。功能做完后,趕快用手機(jī)去測(cè)試,發(fā)現(xiàn)是好用的,暗暗欣喜,就和qa說(shuō)留言做好了,可以測(cè)試了。在qa的專(zhuān)業(yè)測(cè)試后,說(shuō)復(fù)制粘貼后的內(nèi)容,剩余字?jǐn)?shù)不變...

$('#text').keyup(function(){
       var curLength=$(that._els.replay).val().trim().length;
       if(curLength>140)
            {
                var num=$(that._els.replay).val().trim().substr(0,140);
                $(that._els.replay).val(num);
                //alert("超過(guò)字?jǐn)?shù)限制,多出的字將被截?cái)啵? );
            }
            $("#textCount").text($(that._els.replay).val().trim().length);
        }
 });

因?yàn)檎迟N的事件并不屬于keyup,所以并不能識(shí)別。然后就換了一個(gè)change事件,可是問(wèn)題有來(lái)了,換成change之后,死活不觸發(fā)事件。查了一下資料,原來(lái):

change事件在內(nèi)容改變(兩次內(nèi)容有可能是相等的)且失去焦點(diǎn)時(shí)觸發(fā)

代替事件

propertychange事件實(shí)時(shí)觸發(fā),即每增加一個(gè)字符或者刪除一個(gè)字符就會(huì)觸發(fā),通過(guò)js也會(huì)觸發(fā)(任何屬性改變),但是該事件為ie專(zhuān)有
input是ie之外大多數(shù)瀏覽器支持的事件,在value改變時(shí)觸發(fā),實(shí)時(shí)的。然而,通過(guò)js改變時(shí),卻不會(huì)觸發(fā)

用jquery實(shí)現(xiàn)方法
$('#text').bind('input propertychange','textarea',function(){
       var curLength=$(that._els.replay).val().trim().length;
       if(curLength>140)
            {
                var num=$(that._els.replay).val().trim().substr(0,140);
                $(that._els.replay).val(num);
                //alert("超過(guò)字?jǐn)?shù)限制,多出的字將被截?cái)啵? );
            }
            $("#textCount").text($(that._els.replay).val().trim().length);
        }
 });

注意!input和propertychange要通過(guò)動(dòng)態(tài)綁定來(lái)實(shí)現(xiàn)。

其中還遇到的問(wèn)題是最開(kāi)始的時(shí)候以為bind后面的input為html的元素,如果是textarea只需要把input換成textarea就可以。不然,此處的input是指jquery里面input事件,不要混淆。指定是input還是textarea需要在綁定的事件之后。

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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