事件(Event)

文档事件

文档的载入事件

ready(fn)

$(document).ready(function () {

});

//或
$(function () {
});

//或
$(document).ready(fn)
function fn() { }

//或
$(document).ready(fn = function () {
});

文档的键盘鼠标事件

keyup(fn)

键盘按下并抬起时发生

$(document).keydown(function () {
    alert('键盘被按下');
});

为文档元素绑定事件

bind(eventName,data, fn)
//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

示例

$(document).ready(function () {
    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 () { }
    }
);

注销事件

unbind(eventName | fnName)
//eventName:事件名,每个事件名以空格隔开
//fnName:自定义事件的函数名,每个事件名以空格隔开
//注销事件,如果两个参数都不存在,则移除所有事件

模拟事件

trigger(event | fnName, paramsArray)
//eventName:事件名,
//fnName:自定义事件的函数名
//paramsArray:事件处理函数所需要的参数 
//注意:当trigger执行submit事件时,浏览器也将触发submit事件
 //这会造成不想要的结果。此时可以使用triggerHandler方法避免浏览器的默认动作或使用事件对象的preventDefault或直接在事件处理函数中return false

示例

//模拟:通过执行代码来模拟用户的一个触发事件的动作
$('p').bind('click', function () { });        
$('p').trigger('click'); 
//或
$('p').click();

切换事件

toggle(clickX, clickY, ……)
//为元素绑定多个click事件,奇数次时执行clickX,偶数次时执行clickY

toggle(speed, callback……)
//speed:显示或隐藏的动画速度
//callback:完成动画后的回调 
//切换元素的显示/隐藏

hover(clickX, clickY, ……)
//为元素绑定多个hover事件,奇数次时执行clickX,偶数次时执行clickY

event事件对象

每个事件处理函数中都维护了一个event对象,可以在函数内部获取它,以便取出事件的信息

$('#box').bind('myshow', function (e) {
    eventMessage = e.type;//获取事件类型名称
});

event对象的属性/方法

type
//获取事件处理函数的名称,诸如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('mouseover.Result', function () { });
$('p').bind('click.Result', function () { });
$('p').bind('focus.Result', function () { });
$('p').unbind('.Result');
$('p').bind('click', function () { alert("1"); }); //无命名空间       
$('p').bind('click.Result', function () { alert("2"); }); //有命名空间

$('#btn').click(function () {
    $('p').trigger('click!')//执行所有不包含在任何命名空间里的click事件,print 1
});

  

Javascript - 学习总目录

Javascript - Jquery - 事件的更多相关文章

  1. JavaScript jQuery 事件、动画、扩展

    事件 因为JavaScript在浏览器中以单线程模式运行,页面加载后,一旦页面上所有的JavaScript代码被执行完后,就只能依赖触发事件来执行JavaScript代码. 浏览器在接收到用户的鼠标或 ...

  2. JavaScript / JQuery事件委托如何实现?

    一:什么是事件委托? 事件委托是利用事件冒泡,只指定一个事件处理程序来管理某一类型的所有事件. 事件委托就是利用事件冒泡原理实现的! 事件冒泡:就是事件从最深节点开始,然后逐步向上传播事件: 例:页面 ...

  3. JavaScript, JQuery事件委托

    1.引言 现实当中,前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款.(公司也不会容忍那么多员工站在门口就为了等快递); 这种事件委托还有个好处,就是即便公司又来很多员工 ...

  4. jQuery $(document).ready()和JavaScript onload事件

    jQuery $(document).ready()和JavaScript onload事件 Why we need a right time? 对元素的操作和事件的绑定需要等待一个合适的时机,可以看 ...

  5. jQuery事件和JavaScript事件

    1.JavaScript事件: 属性 当以下情况发生时,出现此事件 FF N IE onabort 图像加载被中断 1 3 4 onblur 元素失去焦点 1 2 3 onchange 用户改变域的内 ...

  6. JavaScript 中的window.event代表的是事件的状态,jquery事件对象属性,jquery中如何使用event.target

    http://wenda.haosou.com/q/1373868839069215 http://kylines.iteye.com/blog/1660236 http://www.cnblogs. ...

  7. jQuery 事件绑定 和 JavaScript 原生事件绑定

    总结一下:jQuery 事件绑定 和 JavaScript 原生事件绑定 及 区别 jQuery 事件绑定 jQuery 中提供了四种事件监听绑定方式,分别是 bind.live.delegate.o ...

  8. 【Python全栈-JavaScript】jQuery事件

    jQuery事件 一.页面载入 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数. 这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度. 简单地说,这个方法纯粹是对向 w ...

  9. javascript事件委托和jquery事件委托

    元旦过后,新年第一篇. 初衷:很多的面试都会涉及到事件委托,前前后后也看过好多博文,写的都很不错,写的各有千秋,自己思前想后,为了以后自己的查看,也同时为现在找工作的前端小伙伴提供一个看似更全方位的解 ...

随机推荐

  1. 使用postman测试hystrix

    当在浏览器发送多次请求检测hystrix的作用时,我们可以使用postman来自动发送多次请求: 1.将链接保存到一个collection中 2.点击runner 3.设定运行次数

  2. eclipse 中新建文件报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Buil

    在eclipse中新建文件报错错误提示如下: The superclass "javax.servlet.http.HttpServlet" was not found on th ...

  3. Excel:6种多条件查找方法

    如下图所示,要求根据设备分类和品牌来查找相应的销售数量. 1. 使用VLOOKUP+辅助列进行多条件查找 本例采用的方法是在原表的最前面加一辅助列,辅助列的公式为:=B2&C2 然后再采用VL ...

  4. python自动化开发-[第十一天]-Mysql

    今日概要: 1.初识mysql 2.MySQL的增删改查 3.主键.外键 4.组合和分组 一.数据库的由来 1.什么是数据库? 数据的仓库,在ATM,购物车中存储数据为目录,称为数据库 1.数据以表格 ...

  5. mysql如何从全备文件中恢复单个库或者单个表

    mysql如何从全备文件中恢复单个库或者单个表 在mysql dba的日常实际工作中,一个实例下有多个库,而我们常见的备份就是全库备份.那么问题就来了,如果需要恢复单个库或者单个表,怎么办了,网上有很 ...

  6. fuel6.0安装部署

    在经过一系列安装openstack方式后,个人觉得fuel的安装方式相对简易,接下来记录下安装部署fuel6.0的过程.本教程适合想把fuel6.0部署后,云主机需要连接外网的需求. 安装virtua ...

  7. Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码

    Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...

  8. springcloud学习笔记

    一.什么是springcloud,有什么作用 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消 ...

  9. jms和activemq

    一.什么是JMS JMS是java message service的缩写即java消息服务,是java定义的消息中间件(MOM)的技术规范(类似玉JDBC).用于程序之间的异步通信,如果两个应用程序需 ...

  10. 【XShell】xshell评估过期解决办法

    1.登录网景官网的下载页面: 官网:https://www.netsarang.com/download/down_form.html?code=522 2.填写基本信息 licensetype 必须 ...