日期:2014-05-16  浏览次数:20374 次

事件帮定的问题
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" >
<title>HelloWorld</title>
<script src="jquery-1.9.1.js"></script>
<script>
$(function(){
$('.aa').bind('click',function(){
alert('a');
});

$('body').append("<div class='aa'>weiheli</div>");
})
</script>
</head>
<body>
<div class="aa">
weiheli
</div>
</body>
</html>

把bind改成live会报错,为什么?bind、live、on、delegate的本质区别?
jquery 事件帮定

------解决方案--------------------
bind是直接把事件注册到选中的页面元素上;
live把事件注册到document对象上,让它处理页面中指定元素冒泡上来的事件,在1.9版已被废弃;
delegate可以把事件注册到任意元素上,让它处理来自指定子元素冒泡上来的事件;
on是1.7新增的,可以实现所有事件注册方法,可以取代bind和delegate。
现在注册事件基本上用on、off、one这三个方法就够了,直接注册事件到指定元素时也可以用click、mouseup等简写方法。