jQuery是一款优秀的JavaScript框架,上次我讲了下jquery如何绑定事件,更多的是讲解jQuery的实现方式,这里再次介绍下jQuery的事件机制
在jquery的事件模型中,有两个基本的事件绑定函数,bind与unbind,这两个函数的含义就是匹配页面元素进行相关事件的处理。比如我们在JS中经常使用到的onfocus,onblur,onmouseover,onmousedown等事件都可以作为bind的参数进行传递。
1 |
$( "#id" ).bind( 'click' , function (){alert( 'tt!' )});
|
其中bind的第一个参数代表的含义是:事件类型(注意不需要加on),function中的代码就是你要执行的逻辑代码
多个事件绑定:bind还允许你绑定多个事件,事件名字之间用空格隔开,例如:
1 |
$( 'a' ).bind( 'click mouseover' , function (){
|
在最新的jquery1.4版本中,对bind方法进行了改进,你可以在bind方法传入一个类JSON对象来一次绑定多个事件处理函数。
2 |
click: function (){alert( 'a' );},
|
3 |
mouseover: function (){alert( 'a again!' )}
|
在function函数中,你还可以通过传递一个javaScript对象给function方法,这个事件对象通常是可以省略的。
bind中还有一个参数data,该参数一般情况下很少使用,通常为了解决在同一个方法中处理同一个变量时有很好的处理。
1 |
var productname= "Sports Shoes" ;
|
2 |
$( '#Area' ).bind( 'click' , function (){
|
5 |
productname= "necklace" ,
|
6 |
$( '#Area' ).bind( 'click' , function (){
|
由于变量productname被重新赋值,所以输出的消息都是”necklace”,这里不了解可以去查阅下关于JavaScript的变量作用域,要解决这个问题就必须使用到data参数,
1 |
var productname= "Sports Shoes" ;
|
2 |
$( '#Area' ).bind( 'click' ,{pn:productname}, function (){
|
5 |
productname= "necklace" ,
|
6 |
$( '#Area' ).bind( 'click' ,{pn:productname}, function (){
|
One
为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。该方法与bind方法的参数一样,与bind方法的区别就是只对匹配元素的事件处理执行一次,执行完之后,以后再也不会执行,当然重新发起web请求时它又会执行一次。
1 |
$( 'a' ).one( 'click' , function (){
|
单击页面上的a元素后,弹出消息,除非用户发起第二次请求,否则再次点击a元素不会弹出消息对话框。
live
该方法主要是能处理动态添加的元素,给那些后添加的元素也一样绑定事件。
1 |
$( 'a' ).live('click', function (){
|
2 |
alert( 'show message!' );
|
然后如果我添加一个元素,
1 |
$( 'body' ).appnend( '<a href=#>Another Element</a>' );
|
那么该元素也会被触发事件处理函数alert。
另外,jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简化.bind(‘click’)。
JQuery一个对象绑定多个事件
- jQuery("#id").click(func1).mouseover(func2)//方法连写,func为方法的名字
- jQuery("#id").click(function(){//你的具体方法实现}),mouser(function(){//你的具体方法实现});
- jQuery("#id").bind("click mouseover",func)//两个事件中间有空格 ,func为方法的名字
- jQuery("#id").bind("load scroll",function(){//你的具体方法实现});
一共有以下这些:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change,select, submit, keydown, keypress, keyup, error 等。
注意:在给form绑定onsubmit事件时,
写成:$("#form1").bind("onsubmit", function(){}); 一直触发不了onsubmit事件, 因为这里绑定错了, 应该绑定submit, 如:$("#form1").bind("submit", function(){});
分享到:
相关推荐
这里,`selector`是用于选择要绑定事件的元素的jQuery选择器,`event`是想要监听的事件名称(如`click`、`mouseover`等),而`handler`则是当事件发生时要执行的函数。 例如,如果我们想要在点击按钮时显示一条消息...
第17周-第16章节-Python3.5-JQuery 事件绑定的方式.avi
jQuery事件绑定和委托是JavaScript库jQuery中用于处理用户交互的核心机制。它们允许开发者响应用户的动作,如点击、鼠标悬浮、键盘输入等。本文将详细解释这些概念,并通过实例展示其用法。 1. `on()` 方法 `on()` ...
首先,`bind()`是jQuery早期版本中用于绑定事件处理函数的方法。在上面的例子中,它被用来在按钮元素上绑定点击事件。例如: ```javascript $("#btn").bind("click", function() { $("div").append("这是一个新的p...
然而,正如标题和描述所指出的,jQuery的事件绑定有时也会带来一些问题,比如内存消耗过大、动态生成元素需要重新绑定事件以及语法冗余。本文将深入探讨这些问题,并提供相应的解决方案。 首先,让我们看看jQuery中...
在深入理解jQuery事件绑定的文章中,作者向读者介绍了如何使用jQuery的不同方法来绑定事件,并对它们的适用情况和差异进行了阐述。以下是从文章内容中提取的知识点: 1. jQuery的事件绑定方法主要包括bind()、live...
jQuery提供了多种方法来绑定事件,包括但不限于: - `bind()` - `live()` - `delegate()` - `on()` 在早期版本的jQuery中,`bind()`是最常用的事件绑定方法,但后来随着jQuery的发展,出现了一些更强大的方法,如`...
总的来说,`jQuery.on()`方法是处理动态元素事件的关键,它允许开发者在不关心元素何时或如何被创建的情况下,依然能够有效地绑定事件监听器。在弹窗交互设计中,这种技术尤其有用,因为它确保了即使弹窗内容是动态...
二是无法为将来可能添加的元素绑定事件。 为了解决这些问题,jQuery引入了`delegate()`方法,利用事件冒泡机制。`delegate()`需要指定一个容器元素(通常是父元素),然后监听在这个容器上发生的特定事件,当事件从...
主要介绍了jQuery事件绑定用法,结合实例形式较为详细的分析了jQuery事件绑定的实现原理与相关注意事项,并附带了相关绑定方法的使用说明,重点介绍了bind和live的区别,需要的朋友可以参考下
在JavaScript的世界里,jQuery库为开发者提供了方便快捷的方式来处理DOM元素的事件,其中包括事件的绑定与解除绑定。本文将深入探讨jQuery中的`bind`和`unbind`方法,以及如何通过它们来实现事件处理。 首先,事件...
本文将详细介绍如何使用jQuery进行事件绑定,特别是通过`bind()`方法来实现自定义命名空间事件绑定的具体应用场景及其实现方式。 #### 一、jQuery事件绑定概述 jQuery提供了多种方式来处理DOM元素上的事件绑定,...
**jQuery绑定事件**是JavaScript库jQuery中的核心功能之一,它极大地简化了DOM元素事件处理的流程,使得开发者能够更加高效地编写代码。在JavaScript原生语法中,为元素添加事件监听器通常涉及到`addEventListener`...
`.bind()`是jQuery中更通用的事件绑定方法,不仅可以绑定`click`事件,还可以绑定其他多种事件,如`mouseover`、`mouseout`等。下面是如何使用`.bind()`绑定`click`事件的例子: ```javascript $('#clickmebind')....
1. **`$(selector).on(events, handler)`**: 这是jQuery中用于绑定事件的主要方法。`selector`是你想要监听事件的元素选择器,`events`是想要绑定的一组事件(如`'click mouseover'`),`handler`是当事件触发时执行...
首先,JQuery的事件绑定使用`on`方法,它接收事件类型、选择器、数据和回调函数作为参数。在内部,`on`方法会创建一个事件数据对象,包含事件类型、原始事件类型、数据、处理函数、全局唯一标识符(guid)以及选择器...