Javascript - Jquery - 事件
事件(Event)
文档事件
文档的载入事件
ready(fn)
});
//或
$(function () {
});
//或
$(document).ready(fn)
function fn() { }
//或
$(document).ready(fn = function () {
});
文档的键盘鼠标事件
keyup(fn)
键盘按下并抬起时发生
alert('键盘被按下');
});
为文档元素绑定事件
//eventName:事件名称
//data:可选,传递到函数的额外数据
//fn:事件处理函数
//eventName可能的值:
//load、unload、
//blur、focus、
//resize、scroll、
//mouseouser、mousemove、
//mouseup、mousedown、
//mouseout、mouseenter、mouseleave、
//click、dbclick、
//change(下拉框选项改变时会发生这个改变事件)、select(文本框被选择后会发生这个选择事件)、
//submit、keydown、keyup、keypress
//error
示例
var div = $("#box");
div.bind("click", fn);
function fn() {
alert(event.srcElement.outerText);//print hello
alert(this.id);//print box
}
});
//或将type作为函数调用
$('p').click(function () { });
$('p').blur(function () { });
追加事件
使用.操作符可以为该对象追加事件
$('li p').bind('click', fn1).bind('click', fn2);
//或
$('li p').bind(
{
"click": function () { },
"mouseup": function () { }
}
);
注销事件
//eventName:事件名,每个事件名以空格隔开
//fnName:自定义事件的函数名,每个事件名以空格隔开
//注销事件,如果两个参数都不存在,则移除所有事件
模拟事件
//eventName:事件名,
//fnName:自定义事件的函数名
//paramsArray:事件处理函数所需要的参数
//注意:当trigger执行submit事件时,浏览器也将触发submit事件
//这会造成不想要的结果。此时可以使用triggerHandler方法避免浏览器的默认动作或使用事件对象的preventDefault或直接在事件处理函数中return false
示例
$('p').bind('click', function () { });
$('p').trigger('click');
//或
$('p').click();
切换事件
//为元素绑定多个click事件,奇数次时执行clickX,偶数次时执行clickY
toggle(speed, callback……)
//speed:显示或隐藏的动画速度
//callback:完成动画后的回调
//切换元素的显示/隐藏
hover(clickX, clickY, ……)
//为元素绑定多个hover事件,奇数次时执行clickX,偶数次时执行clickY
event事件对象
每个事件处理函数中都维护了一个event对象,可以在函数内部获取它,以便取出事件的信息
eventMessage = e.type;//获取事件类型名称
});
event对象的属性/方法
//获取事件处理函数的名称,诸如click、mouseover、keydown
relatedTarget
//如果是mouseover事件,获取鼠标是从哪个dom元素里移动过来的
//如果是mouseout事件,获取鼠标移动到了哪个dom元素里
pageX
//获取事件发生时鼠标离客户区的左边距
pageY
//获取事件发生时鼠标离客户区的左边距
which
//获取事件发生时鼠标按下的是左、中、右键中的哪个键,对应的值是1、2、3
//或键盘按下的是哪个键
target
//获取触发事件的dom源对象
originalEvent
//获取事件原始对象,主要用于当鼠标类事件发生时
//有效传递了一个MouseEvent对象,MouseEvent派生自event的构造器
//如果MouseEvent不满足你要获取的事件信息,你可以通过此方法获取真正的源
mataKey
//是否按下了ctrl键
stopPropagation()
//阻止事件冒泡
preventDefault()
//阻止浏览器默认动作
事件命名空间
如果为元素绑定了N个事件,注销时你得一个一个注销,使用事件命名空间就可以一次性注销它们。
$('p').bind('click.Result', function () { });
$('p').bind('focus.Result', function () { });
$('p').unbind('.Result');
$('p').bind('click.Result', function () { alert("2"); }); //有命名空间
$('#btn').click(function () {
$('p').trigger('click!')//执行所有不包含在任何命名空间里的click事件,print 1
});
Javascript - Jquery - 事件的更多相关文章
- JavaScript jQuery 事件、动画、扩展
事件 因为JavaScript在浏览器中以单线程模式运行,页面加载后,一旦页面上所有的JavaScript代码被执行完后,就只能依赖触发事件来执行JavaScript代码. 浏览器在接收到用户的鼠标或 ...
- JavaScript / JQuery事件委托如何实现?
一:什么是事件委托? 事件委托是利用事件冒泡,只指定一个事件处理程序来管理某一类型的所有事件. 事件委托就是利用事件冒泡原理实现的! 事件冒泡:就是事件从最深节点开始,然后逐步向上传播事件: 例:页面 ...
- JavaScript, JQuery事件委托
1.引言 现实当中,前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款.(公司也不会容忍那么多员工站在门口就为了等快递); 这种事件委托还有个好处,就是即便公司又来很多员工 ...
- jQuery $(document).ready()和JavaScript onload事件
jQuery $(document).ready()和JavaScript onload事件 Why we need a right time? 对元素的操作和事件的绑定需要等待一个合适的时机,可以看 ...
- jQuery事件和JavaScript事件
1.JavaScript事件: 属性 当以下情况发生时,出现此事件 FF N IE onabort 图像加载被中断 1 3 4 onblur 元素失去焦点 1 2 3 onchange 用户改变域的内 ...
- JavaScript 中的window.event代表的是事件的状态,jquery事件对象属性,jquery中如何使用event.target
http://wenda.haosou.com/q/1373868839069215 http://kylines.iteye.com/blog/1660236 http://www.cnblogs. ...
- jQuery 事件绑定 和 JavaScript 原生事件绑定
总结一下:jQuery 事件绑定 和 JavaScript 原生事件绑定 及 区别 jQuery 事件绑定 jQuery 中提供了四种事件监听绑定方式,分别是 bind.live.delegate.o ...
- 【Python全栈-JavaScript】jQuery事件
jQuery事件 一.页面载入 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数. 这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度. 简单地说,这个方法纯粹是对向 w ...
- javascript事件委托和jquery事件委托
元旦过后,新年第一篇. 初衷:很多的面试都会涉及到事件委托,前前后后也看过好多博文,写的都很不错,写的各有千秋,自己思前想后,为了以后自己的查看,也同时为现在找工作的前端小伙伴提供一个看似更全方位的解 ...
随机推荐
- (01背包 dp)P1049 装箱问题 洛谷
题目描述 有一个箱子容量为VV(正整数,0≤V≤20000),同时有nn个物品(0<n≤30,每个物品有一个体积(正整数). 要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入 ...
- 【好用的Mac分屏软件】Magnet for Mac 2.3
「Magnet」是一款Mac窗口管理工具. 当您每次将内容从一个应用移动到另一应用时,当您需要并排比较数据时,或是以其他方式进行多任务处理时,你需要妥善放置所有窗口.Magnet 让这一过程清爽又 ...
- java十进制转三十六进制
import java.util.HashMap; public class Ten2Thirty { private static final String X36 = "01234567 ...
- Linux学习杂谈
Linux学习相关的... --------- 1.Linux是免费的2.Linux是安全稳定的3.linux是开源的,却世界的工程师都在维护系统--------------------熟悉脚本开发语 ...
- 怎么用ajax下载文件
可能大家都觉得没有必要用ajax来下载东西,用window.open(url)就可以搞定 但是这有一个问题,就是这就限定了只能用GET方式来请求了: 可能你又会说GET很符合REST的要求呀. 但是如 ...
- 2017-12-15python全栈9期第二天第七节之x or y ,x 为 非 0时,则返回x
#!/user/bin/python# -*- coding:utf-8 -*-# x or y ,x 为 非 0时,则返回xprint(1 or 2)print(3 or 2)print(0 or ...
- 用jquery的ajax方法获取return返回值的正确姿势
如果jquery中,想要获取ajax的return返回值,必须注意两方面,ajax的同步异步问题,在ajax方法里面还是外面进行return返回值. 下面列举了三种写法,如果想成功获取到返回值,参考第 ...
- PHP7 网络编程(六)Socket和IO多路复用【待】
https://blog.csdn.net/zhang197093/article/details/77366407
- freemarker迭代list、map等常规操作,将数据放到模板中
转自:https://blog.csdn.net/wickedvalley/article/details/65937189 一.controller开始准备模型.数据1.po类 package co ...
- Windows环境手动DOS命令构建apk文件
第一步 抽取资源id,生成R.java aapt p[ackage] -f [-A <assets>] -S <res> -M <AndroidManifest.xml& ...