<body id="body">
<div id="parent">
<div id="child">
点了看了一下
</div>
</div>
<a htrf="ccc">bbbbb</a>
<div id="content"></div>
</body>
juery 所使用的事件模型为DOM2
1 Bind事件:
<script type="text/javascript" >
$(function(){
$("#child").bind("click",function(event){
print(event.currentTarget);
//console.info(event)
})
$("#child").bind("click",function(event){
print(event.currentTarget+"aaaa");
//console.info(event)
})
//第二个参数可以传递相应的json字符串
$("#child").bind("click",[{"name":"zs","age":12}],function(event){
print(event.currentTarget+"aaaa"+event.data[0].name);
console.info(event)
})
});
function print(text){
$("#content").append(text+"</br>");
}
</script>
2 事件阻止
$("*").bind("click",function(event){
print(event.currentTarget.id+"----"+event.target.id);
//event.stopPropagation();
//console.info(event)
//如果对于form 或者 超链接 不希望继续往前走可以使用event.preventDefault();阻止
event.preventDefault();
})
3 one 事件 事件仅仅执行一次
$("*").one("click",function(event){
print(event.currentTarget.id+"----"+event.target.id);
//event.stopPropagation();
//console.info(event)
//如果对于form 或者 超链接 不希望继续往前走可以使用event.preventDefault();阻止
event.preventDefault();
})
4 triiger 事件 依然存在事件冒泡 triggerHandler 调用可以阻止事件冒泡
$("#child").bind('click',function(event,a,b){
print(event.target.id+"---"+event.currentTarget.id+"---"+(a+b));
} )
//1 使用trigger可以调用另一个函数 2 可以传递参数
$("a[href='ccc']").bind("click",function(event){
$("#child").trigger('click',[2,3]);
event.preventDefault();
})
});