-
event.type:获取事件的类型 触发元素的事件类型 $("a").click(function(event) { alert(event.type); // "click"事件 }); event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标 通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(左边)与 (顶边)的距离,简单来说是从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化 event.preventDefault() 方法:阻止默认行为 这个用的特别多,在执行这个方法后,如果点击一个链接(a标签),浏览器不会跳转到新的 URL 去了。我们可以用 event.isDefaultPrevented() 来确定这个方法是否(在那个事件对象上)被调用过了 event.stopPropagation() 方法:阻止事件冒泡 事件是可以冒泡的,为防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数 event.which:获取在鼠标单击时,单击的是鼠标的哪个键 event.which 将 event.keyCode 和 event.charCode 标准化了。event.which也将正常化的按钮按下(mousedown 和 mouseupevents),左键报告1,中间键报告2,右键报告3 event.currentTarget : 在事件冒泡过程中的当前DOM元素 冒泡前的当前触发事件的DOM对象, 等同于this. this和event.target的区别: js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素; .this和event.target都是dom对象 如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;查看全部
-
jQuery自定义事件之triggerHandler事件 trigger事件还有一个特性:会在DOM树上冒泡,所以如果要阻止冒泡就需要在事件处理程序中返回false或调用事件对象中的.stopPropagation() 方法可以使事件停止冒泡 trigger事件是具有触发原生与自定义能力的,但是存在一个不可避免的问题: 事件对象event无法完美的实现,毕竟一个是浏览器给的,一个是自己模拟的。尽管 .trigger() 模拟事件对象,但是它并没有完美的复制自然发生的事件,若要触发通过 jQuery 绑定的事件处理函数,而不触发原生的事件,使用.triggerHandler() 来代替 triggerHandler与trigger的用法是一样的,重点看不同之处: triggerHandler不会触发浏览器的默认行为,.triggerHandler( "submit" )将不会调用表单上的.submit() .trigger() 会影响所有与 jQuery 对象相匹配的元素,而 .triggerHandler() 仅影响第一个匹配到的元素 使用 .triggerHandler() 触发的事件,并不会在 DOM 树中向上冒泡。 如果它们不是由目标元素直接触发的,那么它就不会进行任何处理 与普通的方法返回 jQuery 对象(这样就能够使用链式用法)相反,.triggerHandler() 返回最后一个处理的事件的返回值。如果没有触发任何事件,会返回 undefined查看全部
-
直接点击是调用函数方法,得到first使得bottoname=first,调用update函数,传入(空,0,first)参数,更改名字为first,数字加1,。自定义点击则通过第一个点击激活第一个函数,并传入一个参数,即使得bottoname=last查看全部
-
event.type:获取事件的类型 event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标 event.preventDefault() 方法:阻止默认行为 event.stopPropagation() 方法:阻止事件冒泡 event.which:获取在鼠标单击时,单击的是鼠标的哪个键 :1 2 3 event.currentTarget : 在事件冒泡过程中的当前DOM元素 冒泡前的当前触发事件的DOM对象, 等同于this. this和event.target的区别: js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素; .this和event.target都是dom对象 如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;查看全部
-
事件对象——事件委托 event.target代表当前触发事件的元素,可以通过当前元素对象的一系列属性来判断是不是我们想要的元素查看全部
-
通过.on()绑定的事件处理程序 通过off() 方法移除该绑定 根据on绑定事件的一些特性,off方法也可以通过相应的传递组合的事件名,名字空间,选择器或处理函数来移除绑定在元素上指定的事件处理函数。当有多个过滤参数时,只有与这些参数完全匹配的事件处理函数才会被移除 绑定2个事件 $("elem").on("mousedown mouseup",fn) 删除一个事件 $("elem").off("mousedown") 删除所有事件 $("elem").off("mousedown mouseup") 快捷方式删除所有事件,这里不需要传递事件名了,节点上绑定的所有事件讲全部销毁 $("elem").off()查看全部
-
加了第二个参数选择器: $("div").on("click","p",fn) 事件绑定在最上层div元素上,当用户触发在a元素上,事件将往上冒泡,一直会冒泡在div元素上。如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数查看全部
-
1. 基本用法 $("#elem").click(function(){}) //快捷方式 $("#elem").on('click',function(){}) //on方式 2.多个事件绑定同一个函数 $("#elem").on("mouseover mouseout",function(){ }); 3.多个事件绑定不同函数 $("#elem").on({ mouseover:function(){}, mouseout:function(){} });查看全部
-
eypress事件与keydown和keyup的主要区别 只能捕获单个字符,不能捕获组合键 无法响应系统功能键(如delete,backspace) 不区分小键盘和主键盘的数字字符查看全部
-
注意: 1.keydown是在键盘按下就会触发 2.keyup是在键盘松手就会触发 3.理论上它可以绑定到任何元素,但keydown/keyup事件只是发送到具有焦点的元素上,不同的浏览器中,可获得焦点的元素略有不同,但是表单元素总是能获取焦点,所以对于此事件类型表单元素是最合适的。查看全部
-
submit事件,监听提交表单动作. 通过在<form>元素上绑定submit事件,开发者可以监听到用户的提交表单的的行为 具体能触发submit事件的行为: <input type="submit"> <input type="image"> <button type="submit"> 当某些表单元素获取焦点时,敲击Enter(回车键) 上述这些操作下,都可以截获submit事件。 特别注意: form元素是有默认提交表单的行为,如果通过submit处理的话,需要禁止浏览器的这个默认行为 传统的方式是调用事件对象 e.preventDefault() 来处理, jQuery中可以直接在函数中最后结尾return false即可查看全部
-
点击按钮为什么会弹出3次 alert弹框 这不是冒泡行为,是在chrome下select被执行了三次。iE和FF下就是一次。 第一次:是click触发select。 第二次:浏览器的默认行为, 第三次:浏览器默认行为会选中input内的文本,从而触发第三次select.查看全部
-
change事件 <input>元素,<textarea>和<select>元素的值都是可以发生改变的,开发者可以通过change事件去监听这些改变的动作 input元素 监听value值的变化,当有改变时,失去焦点后触发change事件。对于单选按钮和复选框,当用户用鼠标做出选择时,该事件立即触发。 select元素 对于下拉选择框,当用户用鼠标作出选择时,该事件立即触发 textarea元素 多行文本输入框,当有改变时,失去焦点后触发change事件查看全部
-
focus()在元素本身产生,focusin()在元素包含的元素中产生 blur()在元素本身产生,focusout()在元素包含的元素中产生查看全部
-
当一个元素,或者其内部任何一个元素失去焦点的时候,比如input元素,用户在点击失去焦的时候,如果开发者需要捕获这个动作,jQuery提供了一个focusout事件 使用上非常简单: 方法一:$ele.focusout() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,可能一般用的比较少 <div id="test">点击触发<div> $("ele").focusout(function(){ alert('触发指定事件') }) $("#test").mouseup(function(){ $("ele").focusout() //指定触发事件 }); 方法二:$ele.focusout( handler ) 绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数 这样可以针对事件的反馈做很多操作了 <div id="test">点击触发<div> $("#test").focusout(function() { //this指向 div元素 }); 方法三:$ele.focusout( [eventData ], handler ) 使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题 <div id="test">点击触发<div> $("#test").focusout(11111,function(e) { //this指向 div元素 //e.date => 11111 传递数据 });查看全部
举报
0/150
提交
取消