juqery中的live和bind的一个区别。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(function () {
$("#aaa").bind('click', function () {
alert('bind1');
return false;
});
$("#aaa").bind('click', function () {
alert('bind2');
return false;
});
$("#bbb").live('click', function () {
alert('live1');
return false;
});
$("#bbb").live('click', function () {
alert('live2');
return false;
});
$("body").bind('click', function () {
alert('bodyclick');
});
});
</script>
</head>
<body>
<button id="aaa">
bind绑定</button>
<button id="bbb">
live绑定</button>
</body>
</html>
<head>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(function () {
$("#aaa").bind('click', function () {
alert('bind1');
return false;
});
$("#aaa").bind('click', function () {
alert('bind2');
return false;
});
$("#bbb").live('click', function () {
alert('live1');
return false;
});
$("#bbb").live('click', function () {
alert('live2');
return false;
});
$("body").bind('click', function () {
alert('bodyclick');
});
});
</script>
</head>
<body>
<button id="aaa">
bind绑定</button>
<button id="bbb">
live绑定</button>
</body>
</html>
以上代码运行的结果是:
1.使用bind绑定的,如果在函数中使用了return false,那么body的click将不执行
2.使用live绑定的,不论是用return false或者是 stopPropagation(),都无法阻止body的click运行,甚至body的click事件是首先执行的。