日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文本框内容改变触发事件

發(fā)布時(shí)間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文本框内容改变触发事件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

input 在IE中有onchange事件,但是這個(gè)事件所表現(xiàn)的效果不是我們想要的,它所表現(xiàn)的效果為:當(dāng)input內(nèi)的內(nèi)容發(fā)現(xiàn)更改時(shí),并不會(huì)觸發(fā)你所指定的方法(函數(shù)),所以一般的人不用使用這個(gè)事件,而會(huì)使用,onpropertychange 這個(gè)事件,,在IE下是可行的。。但是在FF下面呢就不行了。。

于是我從網(wǎng)上找到如下代碼去解決FF下不行

jQuery(function($) {
???????? if (navigator.userAgent.indexOf("MSIE") > 0) {
????????????? document.getElementById('txtABC').attachEvent("onpropertychange", txChange);
????????? }
????????? else if (navigator.userAgent.indexOf("Firefox") > 0) {
????????????? document.getElementById('txtABC').addEventListener("input", txChange2, false);??????????

???????? ?}
???? })

這個(gè)方法的原理就是先判斷是哪種瀏覽器,然后使用它們自帶的事件注冊(cè)方法去注冊(cè)事件。

這個(gè)方法有個(gè)問題,如果你要兼容N個(gè)瀏覽器的話那你不要是寫N個(gè)瀏覽器的注冊(cè)事件嗎?

于是又一個(gè)解決的方法出現(xiàn)了,,

它的原理很簡答,就是監(jiān)視鍵盤事件,每次獲取鍵盤事件時(shí),都會(huì)去判斷是否與前一次內(nèi)容是否相同,不相同就觸發(fā)相關(guān)方法(函數(shù))

代碼如下:

var txtValue;
???????
??????? ??? 預(yù)加載
??????? jQuery(function($) {

??????????? txtValue = $("#txtABC").val();

??????????? ??? 給txtbox綁定鍵盤事件
??????????? $("#txtABC").bind("keydown", function() {
??????????????? var currentValue = $(this).val();
??????????????? if (currentValue != txtValue) {
??????????????????? TxtChange();

??????????????????? txtValue = currentValue;
??????????????? }

??????????? });

??????? });

??????? //? 目標(biāo)選擇框文本發(fā)生更改時(shí)
??????? function TxtChange() {
??????????? alert('');??????????
??????? }

因?yàn)榇蟛糠譃g覽器都支持,keydown事件,所以這么寫可以兼容大部分瀏覽器。。

轉(zhuǎn)載于:https://www.cnblogs.com/glorysword/p/onInputContentChange.html

總結(jié)

以上是生活随笔為你收集整理的文本框内容改变触发事件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。