-
jQuery鼠标事件之mousemove事件 用交互操作中,经常需要知道用户是否有移动的操作。基于移动的机制可以做出拖动、拖拽一系列的效果出来。针对移动事件,jQuery提供了一个mousemove的快捷方法可以监听用户移动的的操作 使用上非常简单: 方法一:$ele.mousemove() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少 <div id="test">点击触发<div> $("ele").mousemove(function(){ alert('触发指定事件') }) $("#test").click(function(){ $("ele").mousemove() //指定触发事件 }); 方法二:$ele.mousemove( handler(eventObject) ) 绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数 这样可以针对事件的反馈做很多操作了 <div id="test">滑动触发<div> $("#test").mousemove(function() { //this指向 div元素 }); 方法三:$ele.mousemove( [eventData ], handler(eventObject) ) 使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题 <div id="test">点击触发<div> $("#test").mousemove(11111,function(e) { //this指向 div元素 //e.data => 11111 传递数据 });查看全部
-
jQuery鼠标事件之mousedown与mouseup事件 用户交互操作中,最简单直接的操作就是点击操作,因此jQuery提供了一个mousedown的快捷方法可以监听用户鼠标按下的操作,与其对应的还有一个方法mouseup快捷方法可以监听用户鼠标弹起的操作。两种方法用法类似,下面以mousedown()为例 使用上非常简单: 方法一:$ele.mousedown() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,可能一般用的比较少 <div id="test">点击触发<div> $("ele").mousedown(function(){ alert('触发指定事件') }) $("#test").mousedown(function(){ $("ele").mousedown() //手动指定触发事件 }); 方法二:$ele.mousedown( handler(eventObject) ) 绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数 这样可以针对事件的反馈做很多操作了 <div id="test">点击触发<div> $("#test").mousedown(function() { //this指向 div元素 }); 方法三:$ele.mousedown( [eventData ], handler(eventObject) ) 使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题 <div id="test">点击触发<div> $("#test").mousedown(11111,function(e) { //this指向 div元素 //e.data => 11111 传递数据 });查看全部
-
jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是点击操作。jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于监听用户双击操作。这两个方法的用法是类似的,下面以click()事件为例 使用上非常简单: 方法一:$ele.click() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少 <div id="test">点击触发<div> $("ele").click(function(){ alert('触发指定事件') }) $("#test").click(function(){ $("ele").click() //手动指定触发事件 }); 方法二:$ele.click( handler(eventObject) ) 绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数,这样可以针对事件的反馈做很多操作了,方法中的this是指向了绑定事件的元素 <div id="test">点击触发<div> $("#test").click(function() { //this指向 div元素 }); 方法三:$ele.click( [eventData ], handler(eventObject) ) 使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题 <div id="test">点击触发<div> $("#test").click(11111,function(e) { //this指向 div元素 //e.data => 11111 传递数据 }); dblclick()的用法和click()的用法是类似的,可以参考以上click()的用法。 dbclick与click事件不同的是: click事件触发需要以下几点: click事件其实是由mousedown与mouseup 2个动作构成,所以点击的动作只有在松手后才触发 PS:mousedown和mouseup下一节会讲到 dblclick事件触发需要以下几点: dblclick又是由2个click叠加而来的,所以dblclick事件只有在满足以下条件的情况下才能被触发查看全部
-
focus()在元素本身产生,focusin()在元素包含的元素中产生 focus()与blur()时间作用与input标签查看全部
-
自定义事件:triggerHandler查看全部
-
jquery事件对象的属性和方法 event.type event.preventX event.preventY event.preventDefault event.stopPropagation event.which event.currenTarget查看全部
-
keyPress事件与keydown和keyup的主要区别查看全部
-
hover()这个方法里头封装的是mouseenter(), mouseleave()两个方法, 可以阻止冒泡问题. 这个方法可以用来改变样式, 比如鼠标移入div变色, 移出回到以前的颜色. 相当于css中的div:hover, 但是:hover很多的浏览器对a:hover支持还不错, 对div:hover, ul:hover支持有点差, 特别是ie6,ie7这些较低的版本. 用jquery可以解决兼容性,代码量比js要少很多, 可以专注在逻辑业务上. jQuery 1.7 版本前该方法触发 mouseenter 和 mouseleave 事件。 jQuery 1.8 版本后该方法触发 mouseover 和 mouseout 事件。查看全部
-
triggerHandler事件 若要触发通过 jQuery 绑定的事件处理函数,而不触发原生的事件,使用.triggerHandler() 来代替 triggerHandler与trigger的用法是一样的,重点看不同之处: triggerHandler不会触发浏览器的默认行为,.triggerHandler( "submit" )将不会调用表单上的.submit() .trigger() 会影响所有与 jQuery 对象相匹配的元素,而 .triggerHandler() 仅影响第一个匹配到的元素 使用 .triggerHandler() 触发的事件,并不会在 DOM 树中向上冒泡。 如果它们不是由目标元素直接触发的,那么它就不会进行任何处理 与普通的方法返回 jQuery 对象(这样就能够使用链式用法)相反,.triggerHandler() 返回最后一个处理的事件的返回值。如果没有触发任何事件,会返回 undefined查看全部
-
trigger事件 假设一个jQuery元素 绑定了一个事件: $("element").click(function(){ alert("click event") }); 那么想要触发这个event 事件有两种方式: 1 用鼠标点击 element 这个页面元素。 2 就是在javacsrip脚本里写 trigger 来触发它(就是不用鼠标点),当执行到这句的事件就等于点击了element. 比如 在页面加载完成的时候就想自动点击一下这个element. $(function(){ $("element").click(function(){ alert("click event") }); $("element").trigger("click"); }) trigger除了能够触发浏览器事件,同时还支持自定义事件,并且自定义时间还支持传递参数 $('#elem').on('Aaron', function(event,arg1,arg2) { alert("自触自定义时间") }); $('#elem').trigger('Aaron',['参数1','参数2'])查看全部
-
jQuery事件对象的属性和方法 事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别 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)的使用;查看全部
-
1.event.target是触发事件的元素,不一定是事件绑定的元素。 如:<div> <p> <p> <p> </div> 事件绑定在div上, 点击p会发生事件冒泡,触发回调function,this是div,此时event.target为p; 点击div时,this是div,event.target是div。 由于点击p时事件不是绑定在p上,而是绑定在div上,由div绑定的事件的回调函数处理,所以称为事件委托。 注意:由于事件冒泡的存在,this是可以变化的,this是指“委托人”,即处理事件的元素。 而event.target始终指直接接受事件的目标DOM元素查看全部
-
通过.on()绑定的事件处理程序 通过off() 方法移除该绑定 绑定2个事件 $("elem").on("mousedown mouseup",fn) 删除一个事件 $("elem").off("mousedown") 删除所有事件 $("elem").off("mousedown mouseup") 快捷方式删除所有事件,这里不需要传递事件名了,节点上绑定的所有事件讲全部销毁 $("elem").off()查看全部
-
<body> <h2>on事件委托</h2> <div class="left"> <div class="aaron"> <a>点击这里</a> </div> </div> <script type="text/javascript"> //给body绑定一个click事件 //没有直接a元素绑定点击事件 //通过委托机制,点击a元素的时候,事件触发 $('body').on('click', 'a', function(e) { alert(e.target.textContent) })查看全部
-
on()的高级用法 委托机制 .on( events ,[ selector ] ,[ data ], handler(eventObject) ) 在on的第二参数中提供了一个selector选择器,简单的来描述下: 参考下面3层结构 <div class="left"> <p class="aaron"> <a>目标节点</a> //点击在这个元素上 </p> </div> 给出如下代码: $("div").on("click","p",fn) 事件绑定在最上层div元素上,当用户触发在a元素上,事件将往上冒泡,一直会冒泡在div元素上。如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数查看全部
举报
0/150
提交
取消