基于jQuery的事件操作的详细解决方案 浏览:392

事件是在加载用户操作完成Javascript和html时加载页面或页面之间的交互操作。常见元素单击事件、鼠标事件、键盘输入事件等等,多于Javascript。

与jQuery相比,添加和扩展了基本事件处理机制,大大提高了事件处理的能力。

一、DOM加载事件

加载页面后,浏览器将用Javascript加载DOM元素的事件。当Javascript的使用,在window.onload使用jQuery使用,而美元的方法(文件)。Ready(),和下表使用。

显示这两个事件的相同点和不同点。






在window.onload方法
$(文档)Ready()方法


执行时间
在执行之前,必须等待所有内容被加载。
可以在不等待所有内容加载的情况下执行页面的DOM元素。


绑定函数的数目


此方法可以绑定函数,如果绑定多于一个,则只能执行最后一个绑定:

窗口。指针函数(){ alert(1);}

窗口。指针函数(){ alert(2);}

仅执行最终绑定的函数的结果打印:2。



可以在绑定顺序中注册多个函数并执行绑定函数:

$(document)。准备好(单纯(){ alert(1);});

$()Ready(函数(){警报(2);});

执行结果是顺序绑定的函数:打印1。首先,然后打印2。



简化的写作方法
没有什么
$()Ready();





两。事件处理

当文件被加载,事件可以被添加到该元素,然后事件执行某些动作来完成相关操作。有各种各样的jQuery事件处理方法,包括绑定(),一个(),(),()绑定住,触发(),()和triggerhander所以,jQuery方法使用Bind()为匹配元素绑定特定事件的方法。绑定()方法的格式如下:

Bind(类型,{数据},有趣);

绑定()方法有三个参数,参数的解释如下:

第一个参数是事件类型,主要表现为:模糊焦点,负荷,调整大小,滚动,卸下,点击,dbclick、MouseDown、MouseUp、MouseMove、鼠标悬停、怪、MouseEnter、MouseLeave、改变、选择、提交、KeyDown,按键,Keyup和错误等,也可以自定义名称,在jQuery事件绑定类型少比Javascript,所以在jQuery事件点击对应的onclick函数在Javascript。

第二个参数是一个为event.data属性值的事件对象的附加数据对象传递可选参数。

第三个参数是一个用于绑定的处理函数。

绑定按钮的事件示例:



$(# BTN1 )Bind(单击。

bind()方法已经有效的元件结合所有的时间,直到解放()方法或元素的删除。如果你想绑定事件是只执行一次,一个()方法被用来绑定事件。一()是相同的()方法的结合,和不同的是,事件由一个绑定()方法只能执行一次。

绑定按钮的一次性事件:



$(# BTN1 ),(单击

的绑定()方法是元取消事件绑定,而绑定的格式()方法如下:

(selctor美元)。Unbind({型},{资料})

的绑定()方法是元素结合反向操作()方法,从每一个匹配的元素中删除绑定事件。所有绑定事件被删除的时候没有参数。如果提供了事件类型的参数,指定绑定事件被删除。如果指定的事件类型,第二参数指定要删除对应的事件类型的二参数名称的事件函数名。

实例:






$(# BTN1 )Bind(单击。

$(# BTN1 )Bind(单击。

$(# BTN2 )Bind(单击。
$(# BTN1 )Unbind(单击。
});


该示例使用绑定的两参数形式()删除第二绑定事件处理函数的方法。

Live()方法是一种元素动态绑定事件,它可以在将事件绑定到该方法后触发相应的事件:

$(选择器)。Live({ },{数据},乐趣);

动态绑定示例:

$(p)。活(),函数(隐藏(){ $(this);});

此示例动态地将单击事件添加到所有p元素节点。是否现有的P元素节点或P元素的节点将被添加后,会触发隐藏时,点击中间的点,以隐藏自己。模具()方法是活的反向操作()方法,和现场的结果()动态绑定事件的方法是这使得同一()方法,在动态绑定了死()方法,动态绑定的事件将被删除。

触发器()方法在与触发浏览器默认事件的元素相匹配的参数中触发一个事件,并返回false以防止浏览器默认事件:

$(选择器)Trigger({ },{数据});

Trigger()方法示例:

$(表单:第一)。Trigger();

这个示例触发表单中第一个提交操作。

的triggerhandler()方法结合事件触发,但不触发浏览器的默认事件。相同的错误效果触发后()方法被触发。使用的方法是触发相同。

三。事件

事件处理有一系列事件的主要类型如下:模糊焦点,负荷,调整大小,滚动,卸下,点击,dbclick、MouseDown、MouseUp、MouseMove、鼠标悬停、怪、MouseEnter、MouseLeave、改变、选择、提交、KeyDown,按键、Keyup和误差等。每个事件类型主要使用绑定事件和触发事件,点击的方法为例,格式如下:$(选择器)。点击绑定事件(functiron)({ / /功能,触发事件})$(选择器)(点击)。例:








$(# BTN1)。Click(function(){ alert(事件绑定);});

$(# BTN2 )(点击(功能){ $(# BTN1 )(点击);})


这是第一个按钮BTN1结合事件绑定按钮BTN2事件同时触发的结合事件的第一个按钮绑定事件。该事件类型,其余类似于点击。

四、合成事件

一个合成事件也可以称为交互式事件,它是一个jQuery定制方法,包含两个悬停()和切换()方法。

悬停()方法模仿鼠标悬停事件,其格式如下:悬停(输入,离开):

$(ul)。Hover(function(){ alert(输入);},functiron(){ alert(离开);});

该示例是UL的LI元素的悬停事件。当鼠标停止UL的子元素时,它将触发输入()函数,打印进入,并且当鼠标移出LI元素时,打印离开。

切换方法通过切换操作循环来切换绑定的功能。方法如下:切换(需要,大脑,…,有趣的例子):



$(# BTN1)。Toggle(function(){ alert(开始);},{ alert()函数(继续);},{ alert()函数();});

这个例子的一个绑定事件触发顺序为每次点击按键BTN1结合切换事件。例如打印开始第一次点击

五、事件属性

jQuery封装了事件属性,这样事件处理不需要在浏览器中正常运行:

事件类型event.type。此属性用于获取触发事件的类型,并为不导致事件的不同操作返回不同的结果;例如:

$(p)。Click(函数(事件){警报(事件类型);});

此示例返回元素p,单击事件的事件类型,结果为单击;

事件类型event.target属性用于获取触发事件的元素;例如:

$()。Click(函数(事件){ alert(事件。目标。href);});

这个例子返回元素的href属性

事件的默认行为event.preventdefault;这个属性是用来阻止事件的默认属性,例如:

$()。Click(函数(事件){事件。preventDefault;});

使用此属性来防止元素a的默认跳转行为,结果与返回false相同。

事件冒泡event.stroppropagation属性用于阻止事件冒泡,例如:

$(div)。Click(函数(事件){ alert(层点击);事件。里面;});

在这个例子中,使用属性来防止里面的div的父母的单击事件被触发。

event.pagex和event.pagey特性,利用这两个属性获取鼠标相对于页面的当前位置。例:

$(p)。Click(函数(事件){ alert(当前鼠标位置+事件。pagex ++事件。pagey);});

此示例获取鼠标在元素p处的当前位置并将其打印出来。

的event.witch属性,使用该属性的左右键可当鼠标点击鼠标,把键盘事件的关键。

$(p)。Mousedown(函数(事件){ alert(事件。女巫);});

这个示例在鼠标按下时打印鼠标键值。左向右对应的值为1, 2, 3。

的event.metakey属性用于获取一个事件的键盘Ctrl键,例如:

$(体)。Keydown(函数(事件){ if(事件。元键){ alert(Ctrl);}否则{ alert(没有Ctrl);} });

当您在页面中按下键盘时,如果按Ctrl键的按钮,该示例将打印Ctrl,或否打印。

六、事件冒泡

网页包含多个绑定事件可能因此出现多个元素对同一事件作出回应,由此引发的事件超过我们的预期,这一现象被限制活动,活动范围可以解决这一问题,jQuery(里面)方法使停止事件冒泡事件冒泡的例子:




事件冒泡div内容主体内容

$()Click(函数(){警报();});

Click(函数(){警报();});

$()。Click(函数(){警报() });});



在这个例子中,当点击跨度将触发三打印事件跨度div身体的stroppropagation()在jQuery事件的方法可以用来阻止事件冒泡。上面的例子是改变这种方式:




$(体)。Click(函数(事件){ alert(体);event.stoppropagation();});

$(体div)。Click(函数(事件){ alert(div);event.stoppropagation();});

$(跨度)。Click(函数(事件){ alert(跨);event.stoppropagation();});



所以当你点击一个不同的元素时,不会出现泡沫事件。

七,事件名称空间

事件为事件管理添加名称空间:删除事件和触发事件:

元素绑定多个事件




$()。Bind()

$()Bind(单击

$(div)。Bind(鼠标悬停。插件

$(div)。Bind(dbclick



由于一个命名空间的使用可以删除事件中指定的命名空间,如所有插件命名空间事件函数法去除如下:$(按钮)(点击(功能){ $(div)。Unbind(。插件);});这会移除命名空间是插件的事件。只有点击和dbclick绑定事件留在部

命名空间的使用给触发器特定事件带来了便利,例如绑定了div的两个单击事件,一个带有名称空间和没有名称空间的事件。如果您想要触发一个不包含在命名空间中的事件,您可以使用触发器()单击!方法!感叹号的效果是匹配不包含在命名空间中的所有单击方法。



上述基于jQuery的事件操作的解释是小编,我想与你分享。

标签: 电脑应用

推荐文章1
广告