初窥JQuery(二)-事件机制(1)

  JQuery的事件处理机制在JQuery框架中起着重要的左右,它就像电视机的开关,我们打开电视机的开关才能看到各个电视台精彩的节目,那么我们使用JQuery的事件处理机制就可以创造我们自定义的行为,比如说提交、改变样式、效果显示等等,使我们的网页更加丰富。当然它的优点并不只在于这点,使用JQuery事件处理机制比直接使用Javascript本身内置的一些事件相应方式更加的灵活,更加不容易暴露在外,而且有更加优雅的语法,大大减少了我们工作的量度。

  JQuery的事件处理机制包括:页面加载、事件绑定、事件委派、事件切换四种机制。我们先从$(document).ready()事件开始。

  一、页面加载$(document).ready()相当与Javascript中的onLoad()事件,都是在页面加载的时候执行该方法,但是两者又有着微妙的差别,ready()事件是当HTML下载完成并解析成DOM树之后就可以执行,而onLoad()事件要等HTML包括文件都下载完成之后才能执行。我们在ready()事件中可以绑定其他的一些事件或者函数,ready()有几种语法可以表示:

  $(document).ready(function(){});

  $().ready(function(){});

  $(function(){});

  当然我个人还是习惯于用第一种,增强可读性,需要注意的是在使用ready()事件的时候请确保在 <body> 元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。也可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。

  二、事件切换只有两个方法,就是hover()和toggle()两个方法,由于他们截取组合的用户操作,并且以多个函数响应,因此也称为复合事件处理机制。hover()方法是一个模仿鼠标悬停变化的方法,简单的说就是鼠标移入移出是时候执行你指定的行为的方法,我们最常用的就是做菜单切换效果。toggle()方法就是当你点击按照顺序执行你指定的函数方法,第一次点击执行第一个函数,第二次点击执行第二个函数,以此类推,它可以使用事件绑定中的unbind('click')方法删除。

  hover(over,out)实例:  

 

hover()
 
   
< style type ="text/css" >
#Menu
{
background-color
: Red ;
width
: 150px ;
height
: 30px ;
text-align
: center ;
border
: solid 1px black ;
}
#Menu_child
{
width
: 150px ;
border
: solid 1px black ;
display
: none ;
}
#Menu_child div
{
background-color
: #f3f3f3 ;
width
: 150px ;
height
: 30px ;
text-align
: center ;
}
</ style >
< script language ="javascript" type ="text/javascript" >
$(document).ready(
function () {
$(
" #Menu " ).hover(
function () {
$(
" #Menu_child " ).fadeIn();
},
function () {
$(
" #Menu_child " ).fadeOut();
});
});
</ script >
</ head >
< body >
< div id ="Menu" > JQuery事件处理 </ div >
< div id ="Menu_child" >
< div > 页面加载 </ div >
< div > 事件绑定 </ div >
< div > 事件委派 </ div >
< div > 事件切换 </ div >
</ div >
</ body >

 

  toggle(fn,fn)实例:

代码
 
   
HTML代码
< input type ="button" value ="toggle()方法" id ="toggle" />
JQuery代码
$("#toggle").toggle(
function() {
alert("第一次点击");
},
function() {
alert("第二次点击");
},
function() {
alert("第三次点击");
},
function() {
alert("第四次点击");
});

 

  三、事件委派中也只有两个方法,live()和die()两个方法,这两个方法是1.3版本之后才新增的,之前的版本是没有的。live()可以理解成元素组事件委派方法,比如li元素用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用,而无需重新给这种新增加的元素绑定事件,在编写树形插件的时候相当有用。die()方法就很好解释,用来解除live()绑定的方法。

  live(type,fn):live()中type参数目前只支持click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup事件。实例如下

代码
 
   
HTML代码:
< ul >
< li > 页面加载 </ li >
< li > 事件绑定 </ li >
< li > 事件委派 </ li >
< li > 事件切换 </ li >
</ ul >
JQuery代码:
$("li").live('click', function() {
var index = $("li").index(this);//获取li的索引
var text = $("li").eq(index).text();//根据单击项索引获得文本值
alert("索引:" + index + ",文本值:" + text);
});

  die([type],[fn]):die()使用起来相当简单,一种删除所有live()事件,一种指定删除,两个参数是可选的。

 

代码
 
   
$("#die").click(function() {
$("li").die(); //删除所有live()事件
$("li").die("click");//删除指定为click的live()事件
$("li").die('click', function() { alert("删除live()事件成功") });//删除指定为click的live()事件并执行函数
});

仅供参考,欢迎感兴趣的朋友参与讨论。下篇文章再说事件绑定,写一起太长了。未完待续........

转载于:https://www.cnblogs.com/liuxinet/archive/2010/11/24/1884801.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对不起,我无法提供淘宝精品服饰案例的 jQuery 代码。但是,我可以为您提供一些关于如何使用 jQuery 开发淘宝精品服饰案例的一般指导。 首先,您需要引入 jQuery 库。您可以在 HTML 文件中使用以下代码来引入 jQuery: ```html <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> ``` 接下来,您可以使用 jQuery 来处理页面中的元素,例如添加、删除、修改元素的内容和样式等。下面是一个简单的例子,展示了如何使用 jQuery 选择元素,并为其添加点击事件: ```html <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <h1>淘宝精品服饰案例</h1> <div id="item1">精品T恤</div> <div id="item2">精品裤子</div> <script> $(document).ready(function() { // 选择元素并添加点击事件 $("#item1").click(function() { alert("您点击了精品T恤!"); }); $("#item2").click(function() { alert("您点击了精品裤子!"); }); }); </script> </body> </html> ``` 在上面的例子中,我们使用 `$` 符号来表示 jQuery 对象,然后通过选择器选择元素(使用 `#` 表示选择 ID),并使用 `click` 方法为选定的元素添加点击事件。当用户点击相应的元素时,就会弹出一个提示框。 以上只是一个简单的示例,实际开发中您可以根据需求使用更多的 jQuery 方法和功能来构建淘宝精品服饰案例。希望对您有所帮助!如果您有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值