-
change事件 <input>元素,<textarea>和<select>元素都是可以选择值一些改变,开发者可以通过change事件去监听这些改变的动作 input元素 监听value值的变化,当有改变时,失去焦点后触发change事件 select元素 对于下拉选择框,复选框和单选按钮,当用户用鼠标作出选择,该事件立即触发 textarea元素 多行文本输入框,当用户用鼠标点击时,该事件立即触发 change事件很简单,无非就是注意下触发的先后行为,可以看看右边代码参考查看全部
-
blur、focus事件在元素本身产生,不支持冒泡;focusin、focusout事件支持冒泡。并要注意不是所有元素都能够接收焦点的.能够响应用户操作的元素才有焦点查看全部
-
失焦事件focusout<br> 当一个元素,或者其内部任何一个元素失去焦点的时候,比如input元素,用户在点击失去焦的时候,如果开发者需要捕获这个动作,jQuery提供了一个focusout事件 用法和聚焦一样查看全部
-
传递函数focusin事件 方法一:$ele.focusin() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,一般用的比较少 <div id="test">点击触发<div> $("ele").focusin(function(){ alert('触发指定事件') }) $("#text").mouseup(function(){ $("ele").focusin() //指定触发事件 }); 方法二:$ele.focusin( handler ) 绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数 这样可以针对事件的反馈做很多操作了 <div id="test">点击触发<div> $("#text").focusin(function() { //this指向 div元素 }); 方法三:$ele.focusin( [eventData ], handler ) 使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题 <div id="test">点击触发<div> $("#text").focusin(11111,function(e) { //this指向 div元素 //e.date => 11111 传递数据 });查看全部
-
val()函数用于设置或返回当前jQuery对象所匹配的DOM元素的value值。查看全部
-
这儿是dblclick。查看全部
-
只需要在hover方法中传递2个回调函数就可以了,不需要显示的绑定2个事件 $(selector).hover(handlerIn, handlerOut) handlerIn(eventObject):当鼠标指针进入元素时触发执行的事件函数 handlerOut(eventObject):当鼠标指针离开元素时触发执行的事件函数查看全部
-
mouseenter事件和mouseover的区别 关键点就是:冒泡的方式处理问题 简单的例子: mouseover为例: <div class="aaron2"> <p>鼠标离开此区域触发mouseleave事件</p> </div> 如果在p元素与div元素都绑定mouseover事件,鼠标在离开p元素,但是没有离开div元素的时候,触发的结果: p元素响应事件 div元素响应事件 这里的问题是div为什么会被触发? 原因就是事件冒泡的问题,p元素触发了mouseover,他会一直往上找父元素上的mouseover事件,如果有全触发了 所以在这种情况下面,jQuery推荐我们使用 mouseenter事件 mouseenter事件只会在绑定它的元素上被调用,而不会在后代节点上被触发查看全部
-
先弄清楚e.target指向哪个元素,然后看看这个元素的value属性的值就可以得到了。初学者一般会把e.target和this弄混,搞不懂这两个具体指向哪个元素。简单来说,this就是指向当前事件所绑定的元素,而e.target指向事件执行时鼠标所点击区域的那个元素。容易搞不懂的地方是,初学者会认为当前事件所绑定的元素不就是鼠标所点击的那个元素嘛,这时候就要看看时间绑定的元素内部有没有子元素了,如果有子元素的话e.target指向这个子元素,如果没有,e.target和this都指向事件所绑定的元素。查看全部
-
ocus事件本身是不冒泡的,但是focusin可以,动态添加元素时,就不需重新绑定焦点事件,通过冒泡就能触发。即只要在父元素上添加focusin事件就相当于在子元素被点击时触发子元素的focus事件。查看全部
-
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)和$(event.target);比如:event.target和$(event.target)的使用:查看全部
-
jQuery事件对象的作用 事件中的Event对象容易被初学者忽略掉,可能大多时候初学者不知道怎么去用它,但有些时候它还是非常有用的 一个标准的"click"点击事件 $(elem).on("click",function(event){ event //事件对象 }) 在不同浏览器之间事件对象的获取, 以及事件对象的属性都有差异。jQuery根据 W3C 标准规范了事件对象,所以在jQuery事件回调方法中获取到的事件对象是经过兼容后处理过的一个标准的跨浏览器对象 这里不在千篇一律的说方法的使用,通过实际的一个小案例,从而来了解事件对象的作用 <ul> <li class="even1"></li> <li class="even2"></li> <li class="even2"></li> ......... </ul> ul有N个子元素li(这里只写了3个),如果我要响应每一个li的事件,那么常规的方法就是需要给所有的li都单独绑定一个事件监听,这样写法很符合逻辑,但是同时有显得繁琐 因为li都有一个共同的父元素,而且所有的事件都是一致的,这里我们可以采用要一个技巧来处理,也是常说的"事件委托" 事件没直接和li元素发生关系,而且绑定父元素了。由于浏览器有事件冒泡的这个特性,我们可以在触发li的时候把这个事件往上冒泡到ul上,因为ul上绑定事件响应所以就能够触发这个动作了。唯一的问题怎么才知道触发的li元素是哪个一个? 这里就引出了事件对象了 事件对象是用来记录一些事件发生时的相关信息的对象。事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁 回到上面的问题,既然事件对象是跟当前触发元素息息相关的,所以我们就能从里面相关的信息,从事件对象中找到 event.target event.target target 属性可以是注册事件时的元素,或者它的子元素。通常用于比较 event.target 和 this 来确定事件是不是由于冒泡而触发的。经常用于事件冒泡时处理事件委托 简单来说:event.target代表当前触发事件的元素,可以通过当前元素对象的一系列属性来判断是不是我们想要的元素查看全部
-
卸载事件off()方法 通过.on()绑定的事件处理程序 通过off() 方法移除该绑定 根据on绑定事件的一些特性,off方法也可以通过相应的传递组合的事件名,名字空间,选择器或处理函数来移除绑定在元素上指定的事件处理函数。当有多个过滤参数时,只有与这些参数完全匹配的事件处理函数才会被移除 绑定2个事件 $("elem").on("mousedown mouseup",fn) 删除一个事件 $("elem").off("mousedown") 删除所有事件 $("elem").off("mousedown mouseup") 快捷方式删除所有事件,这里不需要传递事件名了,节点上绑定的所有事件讲全部销毁 $("elem").off()查看全部
-
on()的高级用法 针对自己处理机制中,不仅有on方法,还有根据on演变出来的live方法(1.7后去掉了),delegate方法等等。这些方法的底层实现部分 还是on方法,这是利用了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元素上。如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数查看全部
-
on()的多事件绑定 之前学的鼠标事件,表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理。翻开源码其实可以看到,所有的快捷事件在底层的处理都是通过一个"on"方法来实现的。jQuery on()方法是官方推荐的绑定事件的一个方法。 基本用法:.on( events [, selector ] [, data ] ) 最常见的给元素绑定一个点击事件,对比下一下快捷方式与on方式的不同 $("#elem").click(function(){}) //快捷方式 $("#elem").on('click',function(){}) //on方式 最大的不同点就是on是可以自定义事件名,当然不仅仅只是如何,继续往下看 多个事件绑定同一个函数 $("#elem").on("mouseover mouseout",function(){ }); 通过空格分离,传递不同的事件名,可以同时绑定多个事件 多个事件绑定不同函数 $("#elem").on({ mouseover:function(){}, mouseout:function(){}, }); 通过空格分离,传递不同的事件名,可以同时绑定多个事件,每一个事件执行自己的回调方法 将数据传递到处理程序 function greet( event ) { alert( "Hello " + event.data.name ); //Hello 慕课网 } $( "button" ).on( "click", { name: "慕课网" }, greet ); 可以通过第二参数(对象),当一个事件被触发时,要传递给事件处理函数的查看全部
举报
0/150
提交
取消