最近在使用jquery時(shí),遇到了一個(gè)奇怪的問(wèn)題:無(wú)法觸發(fā)輸入事件。
我的代碼如下:
$('input').on('input', function() { console.log('輸入事件觸發(fā)了'); });
然而,在輸入框中鍵入任何內(nèi)容時(shí),控制臺(tái)上沒(méi)有任何輸出。
我開(kāi)始懷疑自己的代碼是否有問(wèn)題,于是在輸入事件的回調(diào)函數(shù)里加入了一個(gè)alert來(lái)驗(yàn)證代碼是否執(zhí)行:
$('input').on('input', function() { alert('輸入事件觸發(fā)了'); console.log('輸入事件觸發(fā)了'); });
然而,彈出框也沒(méi)有出現(xiàn),可以確定事件確實(shí)沒(méi)有被觸發(fā)。
我通過(guò)檢查瀏覽器的錯(cuò)誤日志和搜索相關(guān)資料,最終發(fā)現(xiàn)了問(wèn)題所在:我使用了jQuery版本1.9.1,而在該版本中,input事件并沒(méi)有被正確的實(shí)現(xiàn),因此在使用該版本的jQuery時(shí),無(wú)法觸發(fā)輸入事件。
解決方法很簡(jiǎn)單:升級(jí)jQuery版本即可。
<script src="https://code.jquery.com/jquery-3.6.0.min.js"> </script>
通過(guò)更新jQuery版本,我成功地解決了這個(gè)問(wèn)題,現(xiàn)在我的代碼可以正確地觸發(fā)輸入事件了。