實時監聽 JavaScript改變 input 值 input輸入框內容 value 變化實時監聽


思路:通過setInterval()方法去定時對比新舊值

當時候JavaScript的onchange 和onpropertychange(注意ie版本) 監聽輸入框input時間,人為改變值是可以觸發這2個事件的,但是一旦js去改變了就不能實時監聽值得改變


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>test</title>
	<script src="http://www.jq22.com/jquery/jquery-3.3.1.js"></script>
</head>
<body>
	<input value="123"   id="myInput" />
</body>
<script >
	$(function(){
		var value=$("#myInput").val()
		setInterval(function(){
			/**
			*1、隔200ms比較一次值
			*2、注意JavaScript == 和===的區別
			*3、三目運算符 ?: 可以接函數調用
			*/
		value === $("#myInput").val() ? doSomething() : console.log("changed !!!"),
		value=$("#myInput").val();
	},200)
	setInterval(function(){//僅僅為了模擬JavaScript改變了值
		$("#myInput").val("123123");
	},2000)
	function doSomething(){
		console.log("no changed !!!")
	}

});
</script>
</html>



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM