第3课:JQuery事件

jQuery事件处理方法是jQuery中的核心函数。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件"触发"经常会被使用

比如常用的click事件,就是元素被点击时触发
实例:
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("#godeye").hide();
  });
});
</script>

事件写法无非就是 元素.事件名(function(){...});
比如blur事件,光标移开时触发
$("#name").blur(function() {....});

因为前端和后端的交互绝大部门都是有交互的,事件触发就必不可少
当然触发函数也可以直接写在html元素中
比如有个a标签
<a class="btn" href="javascript:;" onclick="$('#banner').hide();">隐藏</a>
当点击的时候触发才能onclick隐藏id为banner的元素
还有一种情况,触发的时候需要传递参数,这种情况估计占到了事件触发的60%以上
这个时候参数传递也有2种方式
一种是直接在参数位置用服务端语言拼参数
例子 <a class="btn" href="javascript:;" onclick="test(<?php echo $id; ?>);"></a>
当a点击的时候,触发test()函数,参数是由服务端传过来的

另一种是把参数值赋值给一个<input type="hidden" id="godeye" value="<?php echo $id; ?>" />元素
jquery事件触发的时候从这个input中取值,取值方式为 var id = $('#godeye').val();


jquery事件中,事件绑定也很重要,早期版本中,有live bind等
后来全部统一为on
用法:
$("p").on("click",function(){
    alert("www.godeye.org");
});
类似以前live动态绑定的用法(所谓动态绑定,就是原来元素可能不存在,某个时间触发之后元素才显示,元素本身又绑定了其他事件)
$(".listTable.pull-left").on('click', 'li', function() {
    if ($(this).attr('id') != 'fileList') {
	if ($(this).hasClass("selected")) {
	    $(this).removeClass("selected").find(":checkbox").prop("checked", false);
	} else {
	    $(this).addClass("selected").find(":checkbox").prop("checked", true);
	}
    }
});