1. 事件对象
$("input").bind("click", data, function(e) {
console.log(e.type); //打印事件类型
console.log(e.target); //触发事件元素的dom对象
console.log(e.relateTarget); //移入,移出关联dom对象
console.log(e.currentTarget); //获取监听元素的dom对象
console.log(e.data); //额外数据
console.log(e.pageX, e.pageY); //相对于页面原点位置,包含滚动
console.log(e.screenX, e.screenY); //相对于屏幕原点位置,
console.log(e.clientX, e.clientY); //相对于页面原点位置,不包含滚动
console.log(e.result); //上一个相同时间处理函数返回值,适用于注册多个处理函数。
console.log(e.timeStamp); //触发事件时的时间戳
console.log(e.which); //获取鼠标的左中右建或键盘的按键
console.log(e.altKey);
console.log(e.ctrlKey);
console.log(e.shiftKey);
})
2. 冒泡和默认行为
$("input").click(function(e) {
e.stopPropagration(); //禁止冒泡
});
$("a").click(function(e) {
e.preventDefault(); //禁止默认行为,跳转页面
});
$("form").submit(function(e) {
e.preventDefault(); //禁止默认行为,表单提交
});
$("form").submit(function(e) {
return false; //同时阻止冒泡和默认行为
});
$("a").click(function(e) {
console.log(e.isDefaultPrevented()); //判断是否已经阻止了默认行为
console.log(e.isPropagationStopped()); //判断是否已经阻止了冒泡
console.log(e.stopImmediatePropagation()); //取消冒泡并取消后续处理函数
console.log(e.isImmediatePropagationStopped()); //判断是否取消冒泡并取消后续处理函数
});