jQuery 中的事件绑定与取消绑定

时间:2023-03-09 02:49:37
jQuery 中的事件绑定与取消绑定

  1:在jQuery中使用bind方法进行事件的绑定,bind方法有两个参数,第一个参数是事件的类型例如click,change,keyup,keydown,blur,focus等。第二个参数是一个回调函数(callback function),当事件被触发时会执行这个回调函数。

  如果想清除绑定的事件可以使用unbind方法,此方法接收一个事件类型作为参数,$(element).unbind()。

  以下是一些通过bind与unbing的方法:

  jQuery 中的事件绑定与取消绑定

案例:对每个li元素绑定click事件,当点击li标签时,将其背景色变为红色。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
ul{ background-color:#dcdcdc; list-style:none; width:300px; padding:0px;}
li{ cursor:pointer;margin:10px 0px 0px 0px;}
</style>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
$(function(){
$('li').bind('click',function(){
$(this).css('background-color','red');
});
});
</script>
</head>
<body>
<ul>
<li>China</li>
<li>India</li>
<li>USA</li>
</ul>
</body>
</html>

效果图:

jQuery 中的事件绑定与取消绑定

2:如何对通过js动态生成的html元素绑定事件?可以使用live(event type,callback function);如果想清除绑定的事件可以使用die方法:$(element).die(event type);

案例:点击按钮生成新的html元素节点,然后对其注册点击事件。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div{ border: 1px solid black; cursor: pointer; width: 200px; margin: 10px;}
</style>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
$(function(){
$('#btn').click(function(){
$('body').append('<div class="future">I am a new div</div>');
});
$('div').live('click',function(){
$(this).css({'color':'red','font-weight':'bold'}).html('You clicked me!');
});
});
</script>
</head>
<body>
<input type="button" id="btn" value="Create A New Element"/>
<div class="future">Already on page</div>
</body>
</html>

效果图:

jQuery 中的事件绑定与取消绑定