新葡亰496net Web前端 jQuery几个简单点击事件-Web前端之家

jQuery几个简单点击事件-Web前端之家

这种方法相比toggle方法效率低些,并且还用到了if…else来判断,刚入门JQ的时候用的比较多。

jQuery hover()方法和jQuery toggle()方法用法示例

jQuery hover()方法和jQuery
toggle()方法是两个合成事件,类似ready()方法,都属于jQuery自定义的方法。下面来讲解这两个方法的属性和如何使用。

一、hover()方法:语法结构为:
hover(enter,leave)。用于模拟光标悬停事件。当光标移动到目标元素上时,会触发指定第1个函数(enter);当移出这个元素时,会触发第2个函数(leave)。前端框架UI分享

下面是一段示例代码:

.代码 图片 1

  1. $(function(){
  2. $(“#panel h5.head”).hover(function(){
  3. $(this).next().show();
  4. },function(){
  5. $(this).next().hide();
  6. })
  7. })

    代码运行后的效果与下面代码运行后的效果是一样的。当光标滑过“标题”链接时,相应的“内容”将被显示;当光标滑出“标题”链接后,相应的“内容”则被隐藏。

    .代码
    图片 2

    1. $(function(){
    2. $(“#panel h5.head”).mouseover(function(){
    3. $(this).next(“div.content”).show();
    4. });
    5. $(“#panel h5.head”).mouseover(function(){
    6. $(this).next(“div.content”).hide();
    7. })
    8. });

      注意:CSS中有伪类选择符,例如“:hover”,当光标悬停于元素上时,会改变元素的外观。伪类选择符可以用于任何元素。然而在IE
      6浏览器中,伪类选择符仅可用于超链接元素。对于其他元素,可以使用jQuery的hover()方法。前端框架UI分享

      hover()方法准确来说是替代jQuery中的bind(“mouseenter”)和bind(“mouseleave”),而不是替代bind(“mouseover”)和bind(“mouseout”)。因此当需要触发hover()方法的第2个函数时,需要用trigger(“mouseleave”)来触发,而不是trigger(“mouseout”)。

      二、toggle()方法:语法结构为:toggle(fnl, fn2,
      …fnN)。主要用于模拟鼠标连续单击事件。第1次单击元素,触发指定的第1个函数(fn1);当再次单击同一元素时,则触发指定的第2个函数(fh2);如果有更多函数,则依次触发,直到最后一个。随后的每次单击都重复对这几个函数的循环调用。

      在前面的加强效果的例子中,使用了以下jQuery代码:

      .代码
      图片 3

      1. $(function(){
      2. $(“#panel h5.head”).toggle(function(){
      3. $(this).next().show();
      4. },function(){
      5. $(this).next().hide();
      6. })
      7. })

        使用toggle()不仅获得了相同效果,而且也简化了代码。

        toggle()方法在jQuery中还有另外一个作用:切换元素的可见状态。如果元素是可见的,单击切换后则为隐藏;如果元素是隐藏的,单击切换后则为可见的。因此上面的代码还可以写成如下代码:

        .代码
        图片 4

        1. $(function(){
        2. $(“#panel h5.head”).toggle(function(){
        3. $(this).next().toggle();
        4. },function(){
        5. $(this).next().toggle();
        6. })
        7. })

          为了能有更好的用户体验,现在需要在用户单击“标题”链接后,不仅显示“内容”,而且高亮显示“标题”。代码为:
          前端框架UI分享

          .代码
          图片 5

          1. $(function(){
          2. $(“#panel h5.head”).toggle(function(){
          3. $(this).addClass(“highlight”);
          4. $(this).next().show();
          5. },function(){
          6. $(this).removeClass(“highlight”);
          7. $(this).next().hide();
          8. });
          9. })

            运行代码后,如果“内容”是显示的,“标题”则会高亮显示:如果“内容”是隐藏的,则不会高亮显示“标题”。

            hover()方法和jQuery toggle()方法用法示例 jQuery
            hover()方法和jQuery
            toggle()方法是两个合成事件,类ready()方法,都属于jQuery自定义的方法。下…

事件冒泡可能会引起预料之外的效果。上例中,本来只想触发<span>元素的click事件,然而<div>元素和<body>元素的click事件也同时被触发了。因此,有必要对事件的作用范围进行限制。

1、toggle()方法:

我们一般使用的是bind()方法

2、bind()方法:

   
$(‘#btn’).bind(“myclick”,function(event,message1,message2){………..});

列举jQuery几个简单点击事件,这些效果在我们平时做网页的时候经常会遇到,但各有各的不同和利弊之处:

事件冒泡

语法结构为:toggle(fn1,fn2,fn3,……fnN);

    绑定多个事件类型

${ $.toggle.addClass.next; },function.removeClass.next;})

   
在所绑定的世界类型后面添加命名空间,这样在删除事件时只需要指定命名空间即可。

这种方法用的比较多,并且效率高,但是如果层级多的时候就会出现很卡的情况

       
//不仅会触发input元素绑定的focus事件,还会触发默认操作——得到焦点。

${ $.bind(“click”,function(){ var $link = $; if($link.is){ $.hide(); }
else{ $.show

在页面上可以有多个事件,也可以多个元素响应同一个事件。假设网页上有两个元素,其中一个元素嵌套在另一个元素里,并且都被绑定了click事件,同时<body>元素上也绑定了click事件。

它是一个事件绑定的方法,代码如下:

unbind(type [,data])     //data是要移除的函数

上面只列举了两种,当然还可以$.onlick等,如果是鼠标滑动后效果可以用hover()方法啦,这里就不一一列举了。总而言之,jQuery是比较灵活的,一种效果可以用多种方法来实现,看你怎么使用啦。。。

    $(‘#btn’).trigger(“myclick”,[“传给message1″,”传给message2”]);

语法结构为:toggle;

例如:

在绑定事件的过程中,不仅可以为同一个元素绑定多个事件,也可以为多个元素绑定同一个事件。

    如果包含在命名空间的也要触发:

mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、

    可以用trigger()方法完成模拟操作。

hover()方法

    执行默认操作
    $(“input”).trigger(“focus”);

        //只触发绑定事件,不执行浏览器默认操作

标签:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图