js監聽中文拼音輸入開始輸入和輸入完成的事件,用input事件用拼音輸入法的大坑,由這兩個事件來解決

要監聽輸入框的輸入,首先想到的是oninput事件,對與這些在遇到拼音輸入法時總是很頭疼,因爲拼音輸入法會先把拼音放入輸入框,這是也會觸發事件帶來不少困擾,這裏就推薦兩個h5的新事件來解決這個煩惱,這個就是compositionstart(中文拼音輸入法開始輸入時監聽)和compositionend(中文拼音輸入法輸入完成時監聽)減少不少的煩惱,下邊一個實例一起來看下這兩個事件的魅力吧!

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.inputs {
				width: 600px;
				height: 60px;
				margin: 20px;
				font-size: 24px;
				color: #000000;
			}
			.inputs::-webkit-input-placeholder {
				color: #42B983;
			}
		</style>
	</head>
	<body>
		<input type="text" id="inputs" placeholder="請輸入內容"  class="inputs">
	</body>
	<!-- 
	爲了方便展示這裏用jQuery衆所熟知的技術,
	這個爲cdn的方便查看,可以換成之際jq文件 
	-->
	<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript">
		let val = $('#inputs').val()
		$('#inputs')
		.on('input',event => {
			console.log('這是input事件', val)
		})
		.on('compositionstart',event => {
			// 中文輸入法開始輸入
			console.log('這是compositionstart事件', val)
		})
		.on('compositionend',event => {
			// 中文輸入法結束輸入
			console.log('這是compositionend事件', val)
		})
	</script>
</html>

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章