-
5-3 卸载事件off()方法 通过.on()绑定的事件处理程序 通过off() 方法移除该绑定 根据on绑定事件的一些特性,off方法也可以通过相应的传递组合的事件名,名字空间,选择器或处理函数来移除绑定在元素上指定的事件处理函数。当有多个过滤参数时,只有与这些参数完全匹配的事件处理函数才会被移除 绑定2个事件 $("elem").on("mousedown mouseup",fn) 删除一个事件 $("elem").off("mousedown") 删除所有事件 $("elem").off("mousedown mouseup") 快捷方式删除所有事件,这里不需要传递事件名了,节点上绑定的所有事件讲全部销毁 $("elem").off()查看全部
-
5-1 on() 来自评论: 当在"button" 上 点击的时候, 将name为 慕课网 的参数传递给 greet 函数。 function greet( event ) { alert( "Hello " + event.data.name ); //Hello 慕课网 } 然后, 在greet函数中, 通过事件,触发该函数, 实际上, event.data 就是 " name: "慕课网" " 然后, 在这里面有个name的自定义属性为 "慕课网" 老师的解释是: 可以通过第二参数(对象),当一个事件被触发时,要传递给事件处理函数的查看全部
-
4-2 keypress 说可以显示中文的是因为你输入了中文之后又输入了空格或者其他KeyPress可以识别的字符所以触发了事件,并不是能响应中文输入。 中文输入不会触发keypress()事件,文字会保持到input的value值中,等待输入英文才会将value中的内容取出。查看全部
-
4-1 来自评论: keydown事件会少一个字符是因为事件触发在前,获取的是前面已经输入的字符 文本框中,keydown触发时,先执行自己定义的keydown事件,这个时候文本框里面还没有将你按下的那个值输入(还没有执行默认事件),所以会少一个字母;但是keyup不一样,keyup事件前已将执行keydown默认事件,已经将文本框内值更新,所以看起来keyup是及时更新的! 怎么样才能实时获取到keydown输入的值? -绑定事件时这样,onkeydown = "message(this.value)"查看全部
-
3-4 xxxxxx <form action="______">这里面的地址就是提交之后页面跳转的地址。查看全部
-
3-3 jQuery表单事件之select事件 当 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 传递数据 }); 来自评论: 第一次是button的,第二次是 $("input").select(function(e){ alert(e.target.value) })这个的回调, 第三次是浏览器默认提交的 处理方法,阻止回调(return false;)查看全部
-
3-2 jQuery表单事件之change事件 <input>元素,<textarea>和<select>元素的值都是可以发生改变的,开发者可以通过change事件去监听这些改变的动作 input元素 监听value值的变化,当有改变时,失去焦点后触发change事件。对于单选按钮和复选框,当用户用鼠标做出选择时,该事件立即触发。 select元素 对于下拉选择框,当用户用鼠标作出选择时,该事件立即触发 textarea元素 多行文本输入框,当有改变时,失去焦点后触发change事件 change事件很简单,无非就是注意下触发的先后行为,可以看看右边代码参考 来自评论: 代码中的e.target返回的是绑定这个事件的DOM对象, 是DOM对象不是Jquery对象, 所以e.target后面跟的属性是js中的属性和方法, jquery中的属性和方法用不了,要用jquery的属性方法,要转化为Jquery对象$(e.target).val().查看全部
-
只需要在hover方法中传递2个回调函数就可以了,不需要显示的绑定2个事件 $(selector).hover(handlerIn, handlerOut) handlerIn(eventObject):当鼠标指针进入元素时触发执行的事件函数 handlerOut(eventObject):当鼠标指针离开元素时触发执行的事件函数查看全部
-
mouseenter事件和mouseover的区别 关键点就是:冒泡的方式处理问题查看全部
-
mousemove事件触发需要以下几点: mousemove事件是当鼠标指针移动时触发的,即使是一个像素 如果处理器做任何重大的处理,或者如果该事件存在多个处理函数,这可能造成浏览器的严重的性能问题查看全部
-
mousedown事件触发需要以下几点: mousedown强调是按下触发 如果在一个元素按住了鼠标不放,并且拖动鼠标离开这个元素,并释放鼠标键,这仍然是算作mousedown事件 任何鼠标按钮被按下时都能触发mousedown事件 用event 对象的which区别按键,敲击鼠标左键which的值是1,敲击鼠标中键which的值是2,敲击鼠标右键which的值是3 mouseup事件触发需要以下几点: mouseup强调是松手触发,与mousedown是相反的 mouseup与mousedown组合起来就是click事件 如果用户在一个元素上按下鼠标按键,并且拖动鼠标离开这个元素,然后释放鼠标键,这仍然是算作mouseup事件 任何鼠标按钮松手时都能触发mouseup事件 用event 对象的which区别按键,敲击鼠标左键which的值是1,敲击鼠标中键which的值是2,敲击鼠标右键which的值是3 另外需要注意的是: click与mousedown的区别: click事件其实是由mousedown于mouseup 2个动作构成,所以点击的动作只有在松手后才触发查看全部
-
3-1 blur、focus事件在元素本身产生,不支持冒泡;focusin、focusout事件支持冒泡。并要注意不是所有元素都能够接收焦点的.能够响应用户操作的元素才有焦点 所以 $(".aaron").focus(function() { $(this).css('border', '2px solid red') }) 这里父级div虽然绑定了focus事件,但是由于是子元素input获得了焦点,也就是input触发了focus事件(当然同时也触发了focusin事件)但是input却没有绑定事件处理函数,所以input不会有什么反应,再因为focus不支持冒泡,所以父级div的focus事件并不会被触发,综上所述就没有任何反应了 而$(".aaron1").focusin(function() { $(this).find('input').val('冒泡捕获了focusin事件') $(this).css('border', '2px solid red') }) 这里父级div绑定了focusin事件,子元素input获得了焦点后触发了focusin事件(当然同时也触发了focus事件),又因为支持冒泡,所以父级div的focusin事件就被触发了,就出现反应了查看全部
-
可以借鉴这种处理方式: //监听select: $(".target2").change(function(e) { $("#result").html(e.target.value) })查看全部
-
事件绑在了DIV上并不是input上,所以效果不同查看全部
-
3-1 jQuery表单事件之blur与focus事件 在之前2.8与2.9节我们学过了表单处理事件focusin事件与focusout事件,同样用于处理表单焦点的事件还有blur与focus事件 它们之间的本质区别: 是否支持冒泡处理 举个简单的例子 <div> <input type="text" /> </div> 其中input元素可以触发focus()事件 div是input的父元素,当它包含的元素input触发了focus事件时,它就产生了focusin()事件。 focus()在元素本身产生,focusin()在元素包含的元素中产生 blur与focusout也亦是如此 来自评论: 你们看focus和blur事件都绑到了div上,你点击input或者点完移开失去焦点当然没反应了,因为input没有绑定事件啊。 而focusin和focuout也绑在div上,为啥有反应呢? 因为后者在你点input的时候会一级一级的往上面查父元素,如果父元素有事件就执行了,所以你看到了效果。这叫事件冒泡。 为啥前者不行呢?因为前者不支持事件冒泡。 div无法接受focus和focusin事件,所以这里点击div也是没有效果的,但是可以接受冒泡的focusin事件,所以改成focusin之后,点击input,冒泡到div也触发了;但是input本身支持focus和focusin,只不过focusin看到冒泡触发,focus不触发; input外层的div不能触发focus与blur事件, 但input可以触发focusin,focusout,然后冒泡到div层被捕获。 focus()函数用于匹配当前获得焦点的元素,触发focus事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。 focus事件绑定在父元素div上,子元素input的事件冒泡不会被触发! focusin()函数用于为每个匹配元素的focusin事件绑定处理函数,focusin可以检测该元素的后代元素获得焦点的情况(换句话说,focusin事件支持冒泡) focus事件绑定在父元素div上,子元素input的事件冒泡触发! 因为div这个元素不支持focus。由于focus不进行冒泡针对本身,所以要么直接让input用focus,要么就用focusin冒泡传给input。查看全部
举报
0/150
提交
取消