change事件在JavaScript中的多种用途【全!!!】

 javascript中change事件的用法

         在JavaScript中,change事件是一个非常常用的DOM事件,它主要在元素的值发生变化且元素失去焦点后(对于<input><select><textarea>等表单元素)被触发。这意味着,如果用户在输入框中输入文本,然后移动焦点(例如,通过点击页面上的其他位置或按Tab键),或者从下拉列表中选择一个新的选项,change事件就会被触发。这个事件允许开发者在这些变化发生时执行JavaScript代码,比如验证表单输入、更新页面上的其他元素等。

基本用法

        要处理change事件,你可以使用addEventListener方法给元素添加一个事件监听器,或者使用HTML的onchange属性(虽然这通常不推荐,因为它将JavaScript与HTML混合在一起,违反了内容与行为分离的原则)。

使用addEventListener

	document.getElementById('myInput').addEventListener('change', function() { 

	// 当输入框的值发生变化且失去焦点时执行的代码 

	console.log('值已更改:', this.value); 

	});

 

使用onchange属性

	<input type="text" id="myInput" onchange="handleChange()"> 

	


	<script> 

	function handleChange() { 

	console.log('值已更改:', document.getElementById('myInput').value); 

	} 

	</script>

 

例子

例子1:验证输入框内容
<input type="text" id="username" placeholder="输入用户名"> 
<p id="feedback"></p> 


<script> 
document.getElementById('username').addEventListener('change', function() { 
const username = this.value; 
if (username.length < 5) { 
document.getElementById('feedback').textContent = '用户名至少需要5个字符'; 
} else { 
document.getElementById('feedback').textContent = '用户名有效'; 
} 
}); 
</script>

 

例子2:根据下拉列表的选择更新页面内容
<select id="theme"> 
<option value="light">浅色主题</option> 
<option value="dark">深色主题</option> 
</select> 


<script> 
document.getElementById('theme').addEventListener('change', function() { 
const body = document.body; 
if (this.value === 'dark') { 
body.style.backgroundColor = '#333'; 
body.style.color = '#fff'; 
} else { 
body.style.backgroundColor = '#fff'; 
body.style.color = '#000'; 
} 
}); 
</script>

 

例子3:多选框(Checkbox)的联动效果
<input type="checkbox" id="agree" name="agreement"> 我同意协议 
<p id="terms"></p> 


<script> 
document.getElementById('agree').addEventListener('change', function() { 
if (this.checked) { 
document.getElementById('terms').textContent = '您已同意协议条款'; 
} else { 
document.getElementById('terms').textContent = ''; 
} 
}); 
</script>

        这些例子展示了change事件在JavaScript中的多种用途,从简单的验证到复杂的UI更新,都能通过监听和处理change事件来实现。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值