jQuery技术

JQuery之事件

字号+ 作者:H5之家 来源:H5之家 2017-09-05 17:14 我要评论( )

JQuery之事件

1、JQuery事件之click事件和dbclick事件


方法一:$ele.click()绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少点击触发
$("ele").click(function(){
alert('触发指定事件')
})
$("#test").click(function(){
$("ele").click()//手动指定触发事件
});
方法二:$ele.click( handler(eventObject) )绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数,这样可以针对事件的反馈做很多操作了,方法中的this是指向了绑定事件的元素点击触发
$("#test").click(function() {
//this指向 div元素
});
方法三:$ele.click( [eventData ], handler(eventObject) )使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题点击触发
$("#test").click(11111,function(e) {
//this指向 div元素
//e.data=> 11111 传递数据
});
dblclick()的用法和click()的用法是类似的,可以参考以上click()的用法。


2、JQuery鼠标事件之mousedown和mouseup事件


方法一:$ele.mousedown()绑定$ele元素,不带任何参数一般是用来指定触发一个事件,可能一般用的比较少



点击触发
$("ele").mousedown(function(){
alert('触发指定事件')
})
$("#test").mousedown(function(){
$("ele").mousedown()//手动指定触发事件
});
方法二:$ele.mousedown( handler(eventObject) )绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数这样可以针对事件的反馈做很多操作了点击触发
$("#test").mousedown(function() {
//this指向 div元素
});
方法三:$ele.mousedown( [eventData ], handler(eventObject) )使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题点击触发
$("#test").mousedown(11111,function(e) {
//this指向 div元素
//e.data=> 11111 传递数据
});

3、JQuery鼠标事件之mousemove事件

用交互操作中,经常需要知道用户是否有移动的操作。基于移动的机制可以做出拖动、拖拽一系列的效果出来。针对移动事件,jQuery提供了一个mousemove的快捷方法可以监听用户移动的的操作



方法一:$ele.mousemove()绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少点击触发
$("ele").mousemove(function(){
alert('触发指定事件')
})
$("#test").click(function(){
$("ele").mousemove()//指定触发事件
});
方法二:$ele.mousemove( handler(eventObject) )绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数这样可以针对事件的反馈做很多操作了滑动触发
$("#test").mousemove(function() {
//this指向 div元素
});
方法三:$ele.mousemove( [eventData ], handler(eventObject) )使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题点击触发
$("#test").mousemove(11111,function(e) {
//this指向 div元素
//e.data=> 11111 传递数据
});4、JQuery鼠标事件之mouseover事件和mouseout事件


方法一:$ele.mouseover()绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少点击触发
$("ele").mouseover(function(){
alert('触发指定事件')
})
$("#test").click(function(){
$("ele").mouseover()//指定触发事件
});
方法二:$ele.mouseover( handler(eventObject) )绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数这样可以针对事件的反馈做很多操作了滑动触发
$("#test").mouseover(function() {
//this指向 div元素
});
方法三:$ele.mouseover( [eventData ], handler(eventObject) )使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题点击触发
$("#test").mouseover(11111,function(e) {
//this指向 div元素
//e.data=> 11111 传递数据
});
5、JQuery事件之mouseenter和mouseleave事件


用交互操作中,经常需要知道用户操作鼠标是否有移到元素内部或是元素外部,因此jQuery提供了一个mouseenter和mouseleave的快捷方法可以监听用户移动到内部的操作使用上非常简单,三种参数传递方式与mouseover和mouseout是一模一样的,所以这里不再重复,主要讲讲区别,下面以mouseenter为例:mouseenter JavaScript事件是Internet Explorer专有的。由于该事件在平时很有用,jQuery的模拟这一事件,以便它可用于所有浏览器。该事件在鼠标移入到元素上时被触发。任何HTML元素都可以接受此事件。mouseenter事件和mouseover的区别关键点就是:冒泡的方式处理问题
简单的例子:mouseover为例:

鼠标离开此区域触发mouseleave事件

如果在p元素与div元素都绑定mouseover事件,鼠标在离开p元素,但是没有离开div元素的时候,触发的结果:p元素响应事件
div元素响应事件
这里的问题是div为什么会被触发? 原因就是事件冒泡的问题,p元素触发了mouseover,他会一直往上找父元素上的mouseover事件,如果父元素有mouseover事件就会被触发所以在这种情况下面,jQuery推荐我们使用 mouseenter事件mouseenter事件只会在绑定它的元素上被调用,而不会在后代节点上被触发


6、JQuery事件之hover事件


在元素上移进移出切换其换色,一般通过2个事件配合就可以达到,这里用mouseenter与mouseleave,这样可以避免冒泡问题$(ele).mouseenter(function(){
$(this).css("background", '#bbffaa');
})
$(ele).mouseleave(function(){
$(this).css("background", 'red');
})这样目的是达到了,代码稍微有点多,对于这样的简单逻辑jQuery直接提供了一个hover方法,可以便捷处理只需要在hover方法中传递2个回调函数就可以了,不需要显示的绑定2个事件$(selector).hover(handlerIn, handlerOut)
handlerIn(eventObject):当鼠标指针进入元素时触发执行的事件函数
handlerOut(eventObject):当鼠标指针离开元素时触发执行的事件函数


// 我们可以用它来简单地应用在 鼠标在元素上行为
$("p").hover(
function() {
$(this).css("background", 'red');
},
function() {
$(this).css("background", '#bbffaa');
}
);7、JQuery鼠标事件之focusin事件


 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 《jQuery与jQuery Mobile开发完全技术宝典》(朱育发)【摘要 书评

    《jQuery与jQuery Mobile开发完全技术宝典》(朱育发)【摘要 书评

    2017-09-05 11:03

  • 使用jQuery动态加载js脚本文件的方法

    使用jQuery动态加载js脚本文件的方法

    2017-09-05 10:04

  • jQuery学习笔记8

    jQuery学习笔记8

    2017-09-04 12:08

  • 用JQuery实现ajax技术的常用方法

    用JQuery实现ajax技术的常用方法

    2017-09-04 11:00

网友点评