欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

jQuery 事件绑定方法(bind hover toggle live.... )、删除事件方法(unbind, die)及 事件对象

发布时间:2025/4/16 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 jQuery 事件绑定方法(bind hover toggle live.... )、删除事件方法(unbind, die)及 事件对象 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

事件绑定方法:

1.<type>(function)

$("button").click(function(){... });

2.bind(map)

$("input[type='text']").bind({focus: function(){...},blur: function(){...} })

3.bind(type, [data,] function)

  注:如果没有第二个参数,则与第一个绑定事件方法相同

$("button").bind("click",{arg1: "2012"arg2: "07"},function(event){...event.data.arg1...} )

4.one(type, [data,] function)

  绑定事件只执行一次,执行完之后绑定失效

5.hover(over, out)

  注:两个参数为鼠标盘旋在对象上方和离开时调用的函数

$("div").hover(function(){...},function(){...} )

6.toogle(function1, function2, ...)

  该方法作用是单击对象时循环调用函数列表中的函数

7.live(type, function)

  该方法为整个页面生命周期内的某一类对象绑定一个事件处理程序

 

事件删除方法:

1.unbind([type] [,data])

  该方法删除匹配对象的事件处理程序,与bind方法对应,可以删除所有以bind方式绑定的自定义事件处理程序。如果所有参数都省略,将删除匹配对象的所有事件及事件处理程序;如果只有第一个type参数,将删除指定事件类型的时间处理程序。如:

$("#btn").unbind("click");

  如果同时指定两个参数,将删除指定事件类型的指定事件处理程序。如,btn绑定以下函数:

  var btnClick = function(){...};

  则删除btn的该事件处理程序的代码为:

$("#btn").unbind("click", btnClick);

2.die([tyoe] [,function])
  该方法与live方法对应,用于解除live注册的自定义事件。参数与unbind方法类似。

 

模拟操作:

  模拟操作就是模拟用户触发相应的事件,如一个事件触发另一个事件。

1.<type>()

  如触发一个按钮的单击事件:

$("button").click();

2.trigger(type [,data])

  如触发一个按钮的单击事件:

$("button").trigger("click");

3.triggerHandler(type [,data])

  与 trigger 方法不同:

  该方法只触发对象集合中的第一个元素的事件处理程序。且返回的是事件处理程序的返回值,而不是可链接的jQuery对象。该方法不会触发事件冒泡

 

jQuery事件对象:

1.事件对象的属性

  type:获得该对象的事件类型,如click, focus, mouseover等

  target:获得事件触发者(DOM对象)

  data:获得调用事件时传入的额外参数集合

  relatedTarget:获得触发鼠标事件的DOM元素

  currentTarget:获得当前DOM元素(等同于this关键字)

  pageX/pageY:获得鼠标事件中,鼠标光标相对于页面左上角的位置

  result:获得上一个事件处理函数返回的值

  timeStamp:获得事件发生的时间戳

2.事件对象的方法

函数名

说明例子
preventDefault()取消元素事件的默认动作
例如:
对于超级链接a来说,有href属性,那么在点击a的时候就会导航至href所指向位置.我们在a的click事件中,调用本方法,就不会导航到指定位置
//取消事件默认动作 $("a").bind("click", function (e) {e.preventDefault(); });
isDefaultPrevented()是否调用过preventDefault()方法 e.isDefaultPrevented()
stopPropagation()取消事件冒泡 e.stopPropgation();
isPropagationStopped()是否调用过stopPropagation()方法 e.isPropagationStopped()
stopImmediatePropagation()取消执行该元素该事件处理函数的后续事件处理函数,
并取消事件冒泡
$("a").bind("click", function (e) {e.stopImmediatePropagation(); });//不会被执行到 $("a").click(function () {alert("我被点击了"); });
isImmediatePropagationStopped()是否调用过stopImmediatePropagation()方法 $("a").bind("click", function (e) {e.stopImmediatePropagation();alert(e.isImmediatePropagationStopped()); });

例如:要在鼠标移动时获取鼠标的位置:

$(document).mouseover(function(event){var msg = event.pageX + " " + event.pageY;alert(msg); });

总结

以上是生活随笔为你收集整理的jQuery 事件绑定方法(bind hover toggle live.... )、删除事件方法(unbind, die)及 事件对象的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。