1. 程式人生 > >jQuery on(繫結事件)前別忘了off(移除事件)

jQuery on(繫結事件)前別忘了off(移除事件)

廢話不多說直接上程式碼,用到的自己執行看效果

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<button id="add-event-more">疊加繫結SayHello事件</button>
	<button id="add-event-one">先移除再繫結SayHello事件</button>
	<button id="say-hello">Say Hello</button>
<script type="text/javascript" src="jquery-2.1.4.min.js"></script>
<script type="text/javascript">
	$(document).ready(function () {
		var iCount = 0;
		function sayHello() {
			alert("Hello!");
		}
		//  每Click1次,多響應事件一次(疊加了)
		$('#add-event-more').on('click', function () {
			iCount = iCount + 1;
			$("#say-hello").html("Say Hello" + iCount + "次");
			$("#say-hello").on("click", sayHello);  //  繫結事件(事件疊加了)
		});
		//  永遠只響應1次事件
		$('#add-event-one').on("click", function () {
			$('#say-hello').html("Say Hello 1次");
			$("#say-hello").off('click').on('click', sayHello);  //  先移除事件(避免事件疊加),在繫結事件
		})
	})
</script>
</body>
</html>