为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
jQuery基础(三)—事件篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery基础(三)—事件篇

Aaron艾伦 Web前端工程师
难度入门
时长 1小时47分
  • A. var aaa = 111; $("#test").click(aaa,function(e) { //this指向 div元素 e.data => 111 传递数据 }); 1).因为 变量aaa 是传递给 e.data(事件e属性data),是在事件对象 e 内部做接收处理 (事件对象e 是一个通用的对象,它是面对几乎所有的 浏览器对象 设计的,所以不可能给 e.data 设计一个默认值),所以此处如果 aaa 在 click事件前 没有定义(可以定义但不赋值,这样 系统不会认为出错)系统将会在 运行到 e.data接收 变量 aaa 时报错 2).上面代码定义的function(e)是回调函数,也就是系统将先执行 click() 方法中的代码,后运行 function(e) 中的代码. $("#test").click(aaa,function(event,bottonName) { bottonName = bottonName || 'first'; //因为function(event,bottonName)是用户自定义,可以这么进行判断并赋默认值 aaa = aaa || "111"; //因为系统先执行 click() 方法中的代码,后运行 回调函数 中的代码,如果 aaa 在之前没有定义,系统根本运行不到这里 }); 3).e.data 是事件e的一个属性,所以它可以接受所有类型的变量(甚至可以接收一个实例化后的对象) B. $('#elem').trigger(‘click’,[‘参数1','参数2']) 1).trigger 只是触发事件( click ),而事件( click )必须在 trigger 前被定义,并且 保证能正常运行; 2).如果 事件需要传递 envent.data ,也要保证在 单独触发事件( click )时 envent.data 能正常接收数据,所有 trigger() 中不包含 传递 envent.data 的参数 C.如果要向 事件的回调函数中 传递参数, 则必须在事件定义时,定义回调函数为 function(event,arg1,arg2,…),因为事件的回调函数 默认第一个参数 为事件对象本身.
    查看全部
  • 不支持冒泡:mouseenter、mouseout、focus、blur 支持冒泡:mouseover、mouseout、focusin、focusout
    查看全部
  • this 是 Javascript语言 的一个关键字。 this 指向的是 调用函数运行的 DOM元素对象,且只能在函数内部使用。 event事件对象: 1).事件对象是用来记录一些事件发生时的 相关信息 的对象; 2).事件对象 只有事件发生时 才会产生; 3).并且 事件对象 只能是 事件处理函数内部 访问; 4).在 所有事件处理函数 运行结束 后,事件对象就被销毁. this和event.target的区别: 1)js中 this 是根据 调用函数的DOM元素的不同 而变化,但 event.target 不会变化,它永远是指向 触发事件 的目标DOM元素; 2)this和event.target都是dom对象,如果要使用jquey中的方法可以将他们转换为jquery对象:$(this)和$(event.target);
    查看全部
  • //trigger触发focus $("button:first").click(function() { $("a").trigger("click"); $("input").trigger("focus","sunny23"); }); Why Sunny23没有传递进去
    查看全部
  • 感觉不是冒泡造成的
    查看全部
  • 点击第一个按钮会三次,应该是冒泡引起的,具体冒泡流程还没有想通
    查看全部
  • 绑定2个事件 $("elem").on("mousedown mouseup",fn) 删除一个事件 $("elem").off("mousedown") 删除所有事件 $("elem").off("mousedown mouseup") 快捷方式删除所有事件,不需要传递事件名,节点上绑定的所有事件讲全部销毁 $("elem").off() 当有多个过滤参数时,只有与这些参数完全匹配的事件处理函数才会被移除 off()方法通常用于移除通过 on() 方法添加的事件处理程序。 因为 鼠标事件,表单事件与键盘事件 底层都是 on()方法,所以这些事件也可以直接使用 off()方法移除
    查看全部
  • 事件绑定在最上层div元素上,当用户触发在a元素上,事件将往上冒泡,一直会冒泡在div元素上。如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数 即 on事件存在冒泡行为,当在 on() 中添加参数 childSelector 后可以阻止 on事件 的 部分 冒泡(从最底层的元素网上冒泡 到找到 childSelector 后停止冒泡)
    查看全部
    0 采集 收起 来源:on()的高级用法

    2017-03-31

  • $(selector).on(event,childSelector,data,function,map) event: 触发事件 childSelector: 为 selector 下的指定子元素 添加事件 data: event事件 的参数 function: 事件发生时运行的函数 map: 规定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。 event事件 在接收函数时,也是用 event.data 变量接受的,所以传参时参数为 “参数名:参数值” ,则调用时为 event.data.参数名 ; 如: $("#test1").on('click', {data:123123},function(e) { $(this).text('触发事件:' + e.type); alert(e.data.data); })
    查看全部
  • 1.由于大部分系统定义输出是在键盘按下+抬起后输出一个字符,所以当第一次按下按键时, em:first 元素中没有输出值,而 em:last 元素中有输出值 2.理论上它可以绑定到任何元素(在一个没有输入域的元素上 也可以按按键 ),但 keydown/keyup事件 大多时候是用来检测具有 输入域的元素 所以一般绑定在可以获得焦点的元素上,所以对于此事件类型表单元素是最合适的。
    查看全部
  • $('#target2').submit(111,function(e) { alert(e.data); return false; }); 1.传参方法与前面的没有区别!!!都是通过 e对象 的 data属性 来接受数据参数 2.事件对象名称可以任意定义,但必须前后一致,如: $('#target2').submit(111,function(aaa) { alert(aaa.data); return false; }); //也是可以的
    查看全部
  • //阻止HTML标签的默认行为 <a id="stopreload" href="http://www.baidu.com">阻止跳转</a> <script type="text/javascript"> $('#stopreload').click(function(e){ return false; }) </script>
    查看全部
  • focusout():当一个元素,或者其内部任何一个元素失去焦点的时候,触发事件.(即 focusout事件也存在冒泡现象)
    查看全部
  • focusin():当一个元素,或者其内部任何一个元素获得焦点的时候,触发事件.(即 focusin事件也存在冒泡现象)
    查看全部
  • A.this 与 $(this) 的区别: 1.jq 是在 js 的基础上编写的,所以在 jq 中可以直接使用 js 的所有语法、内嵌函数、对象等,反之不行; 2.this 是 js 的用法, 而 $(this) 是 jq 的用法; 3.在 jq 中只使用 元素对象中的对象参数,或者 js 方法时,直接使用 this.属性 或 this.方法(); 4.在 jq 中使用 jq 的方法,则必须将 this 所指向的对象(此时此对象为 js对象 )转化成为 jq 对象,所以必须用 $(this) 将对象进行转化; 5.在 js 中不能使用 $(this). B.如果在一个元素按住了鼠标不放,并且拖动鼠标离开这个元素,并释放鼠标键,这仍然是算作次元素上的一个 mousedown事件 和 一个mouseup事件 C.任何鼠标按钮被按下时都能触发 mousedown事件 和 mouseup事件 D.用event 对象的which区别按键( event.which ) 1:鼠标左键 2:鼠标右键 3:鼠标滚轮键 E. click事件 其实是由 mousedown 和 mouseup 2个动作构成,所以点击的动作只有在松手后才触发
    查看全部

举报

0/150
提交
取消
课程须知
1、有HTML/CSS基础 2、有JavaScript基础
老师告诉你能学到什么?
1、jQuery的基础语法 2、jQuery事件处理
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!