-
focus和blur事件都绑到了div上,你点击input或者点完移开失去焦点当然没反应了,因为input没有绑定事件啊。 而focusin和focuout也绑在div上,为啥有反应呢? 因为后者在你点input的时候会一级一级的往上面查父元素,如果父元素有事件就执行了,所以你看到了效果。这叫事件冒泡。 为啥前者不行呢?因为前者不支持事件冒泡。查看全部
-
hover()这个方法里头封装的是mouseenter(), mouseleave()两个方法, 可以阻止冒泡问题.查看全部
-
事件冒泡的问题,p元素触发了mouseover,他会一直往上找父元素上的mouseover事件,如果父元素有mouseover事件就会被触发 mouseenter事件只会在绑定它的元素上被调用,而不会在后代节点上被触发 举个栗子, mouseover就像是针,一层层元素就像是纸,最外层没有mouseover的时候就一直向下扎,直到扎穿了为止。 mouseenter就像时刷子,刷上哪儿是哪儿,只有表层查看全部
-
trigger查看全部
-
参考下面3层结构 <div class="left"> <p class="aaron"> <a>目标节点</a> //点击在这个元素上 </p> </div> 给出如下代码: $("div").on("click","p",fn) 事件绑定在最上层div元素上,当用户触发在a元素上,事件将往上冒泡,一直会冒泡在div元素上。如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数查看全部
-
为什么select弹出 三次查看全部
-
这是社么查看全部
-
传递数据参数查看全部
-
focusin查看全部
-
将数据传递到处理程序 function greet( event ) { alert( "Hello " + event.data.name ); //Hello 慕课网 } $( "button" ).on( "click", { name: "慕课网" }, greet );查看全部
-
form有默认的提交表单功能,所以用submit的时候需要在函数里面写一个return false;来阻止默认行为查看全部
-
当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件。 这个函数会调用执行绑定到select事件的所有函数,包括浏览器的默认行为。可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。 select事件只能用于<input>元素与<textarea>元素 使用上非常简单: 方法一:.select() 触发元素的select事件: $("input").select(); 方法二:$ele.select( handler(eventObject) ) 绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数 这样可以针对事件的反馈做很多操作了 <input id="test" value="文字选中"></input> $("#test").select(function() { //响应文字选中回调 //this指向 input元素 }); 方法三:$ele.select( [eventData ], handler(eventObject) ) 使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题 <input id="test" value="文字选中"></input> $("#test").select(11111,function(e) {//响应文字选中回调 //this指向 div元素 //e.date => 11111 传递数据 });查看全部
-
在之前2.8与2.9节我们学过了表单处理事件focusin事件与focusout事件,同样用于处理表单焦点的事件还有blur与focus事件 它们之间的本质区别: 是否支持冒泡处理 举个简单的例子 <div> <input type="text" /> </div> 其中input元素可以触发focus()事件 div是input的父元素,当它包含的元素input触发了focus事件时,它就产生了focusin()事件。 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 传递数据 });查看全部
-
当一个元素,或者其内部任何一个元素获得焦点的时候,例如:input元素,用户在点击聚焦的时候,如果开发者需要捕获这个动作的时候,jQuery提供了一个focusin事件 使用上非常简单: 方法一:$ele.focusin() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,一般用的比较少 <div id="test">点击触发<div> $("ele").focusin(function(){ alert('触发指定事件') }) $("#test").mouseup(function(){ $("ele").focusin() //指定触发事件 }); 方法二:$ele.focusin( handler ) 绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数 这样可以针对事件的反馈做很多操作了 <div id="test">点击触发<div> $("#test").focusin(function() { //this指向 div元素 }); 方法三:$ele.focusin( [eventData ], handler ) 使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题 <div id="test">点击触发<div> $("#test").focusin(11111,function(e) { //this指向 div元素 //e.date => 11111 传递数据 });查看全部
举报
0/150
提交
取消