1.  事件冒泡

阻止事件冒泡的两种方式:

  • event.stopPropagation();
  • return false ;

2. 绑定事件——bind(type,[data],function)

type为一个或多个事件类型的字符串,data是作为event.data属性值传递给事件对象的额外对象。

  • 一个元素绑定多个事件,可用空格隔开。

$("#btn").bind( "click mouseover", function () {  ...);

  • 通过映射方式为同一元素绑定多个事件。
       $(function () {
            $( ".txt").bind({
            "focus": function () {
                    $( "#divTip").html("请输入" ).show();
                },
            "blur":function () {
                    $( "#divTip")
                        .show()
                        .html( "合法");
                }
            });
        });
  • 第二个参数data的使用。
    var info = { name: 'Cathy', date: '2014-1-24' };
    $(function () {
        $("#test").bind("click", info, function (event) {
            $("#divTip").show().html(event.data.name + "," + event.data.date);
        });
    });

3.事件切换

  • hover:鼠标悬停与鼠标移除事件切换。
    $(function () {
        $(".clsTitle").hover(
        function () {
            $(".clsContent").show();
        },
        function () {
            $(".clsContent").hide();
        });
    });
  • toggle:依次顺序调用N个函数,最后一个调用完成后再从第一个轮流执行。
    $(function () {
        $("#divTest").toggle(
            function () {
                alert(1);
            },
            function () {
                alert(2);
            },
            function () {
                alert(3);
            }
        );
    });

4.移除事件——unbind(type,func)

参数说明:type为要移除的事件类型,func为要移除的事件处理函数。如果func为空,则移除元素所有的事件。

 function func() {
        $("#divTip").append("点击按钮2");
    }
    $(function () {
        $("#Button1").click(function () {
            $("#divTip").append("点击按钮1");
        });
        $("#Button2").click(func);
        $("#Button3").click(function () {
            $("input").unbind("click", func);
        });
    });

5.其他事件

one(type,[data],func)——为元素绑定只执行一次的事件。

trigger(type,[data])——在所选择的元素上触发指定类型的事件。

$(function () {
var i = 1;
function btn_Click() {
this.value = i++;
            }
            $( "input").one("click" , btn_Click);
            $( "input").bind("click" , btn_Click);
            $( "input").trigger("click" );
        })

6.实例应用

①选项卡效果

<body>

<ul id="menu">

<li class="tabFocus">家居 </li>

<li> 电器</li >

<li> 二手</li >

</ul>

<ul id="content">

<li class="conFocus">我是家居的内容 </li>

<li> 欢迎您来到电器城 </li>

<li> 二手市场,产品丰富多彩 </li>

</ul>

</body>

html Body

<script type="text/javascript">
        $( function () {
            $( "#menu li").each(function (index) {
                $( this).click(function () {
                    $( this).addClass("tabFocus" ).siblings().removeClass("tabFocus");
                    $( "#content li:eq(" + index + ")" ).show().siblings().hide();
                });
            });
        });
</script>

②屏幕中间弹窗遮罩

     <style type="text/css">
            body {
                font-size: 13px;
            }

            .divShow {
                line-height: 32px;
                height: 32px;
                background-color: #eee;
                width: 280px;
                padding-left: 10px;
            }

                .divShow span {
                    padding-left: 50px;
                }

            .dialog {
                width: 360px;
                border: solid 5px #666;
                position: absolute;
                display: none;
                z-index: 101;
            }

                .dialog .title {
                    background-color: #fbaf15;
                    padding: 10px;
                    color: #fff;
                    font-weight: bold;
                }

                    .dialog .title img {
                        float: right;
                    }

                .dialog .content {
                    background-color: #fff;
                    padding: 25px;
                    height: 60px;
                }

                    .dialog .content img {
                        float: left;
                    }

                    .dialog .content span {
                        float: left;
                        padding-top: 10px;
                        padding-left: 10px;
                    }

                .dialog .bottom {
                    text-align: right;
                    padding: 10px 10px 10px 0px;
                    background-color: #eee;
                }

            .mask {
                width: 100%;
                height: 100%;
                background-color: #000;
                position: absolute;
                top: 0px;
                left: 0px;
                filter: alpha(opacity=30);
                display: none;
                z-index: 100;
            }

            .btn {
                border: #666 1px solid;
                padding: 2px;
                width: 65px;
                filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff, EndColorStr=#ECE9D8);
            }
        </style>
        <div class="divShow">
            <input id="Checkbox1" type="checkbox" />
            <a href="#">这是一条可删除的记录</a>
            <span>
                <input id="Button1" type="button" value="删除" class="btn" />
            </span>
        </div>
        <div class="mask"></div>
        <div class="dialog">
            <div class="title">
                <img src="Images/close.gif" alt="点击可以关闭" />删除时提示
            </div>
            <div class="content">
                <img src="Images/delete.jpg" alt="" /><span>您真的要删除该条记录吗?</span>
            </div>
            <div class="bottom">
                <input id="Button2" type="button" value="确定" class="btn"/>&nbsp;&nbsp;
                <input id="Button3" type="button" value="取消" class="btn"/>
            </div>
        </div>

html

        <script type="text/javascript">
            $(function () {
                $("#Button1").click(function () { //注册删除按钮点击事件
                    $(".mask").show(); //显示背景色
                    showDialog(); //设置提示对话框的Top与Left
                    $(".dialog").show(); //显示提示对话框
                })
                /*
                *根据当前页面与滚动条位置,设置提示对话框的Top与Left
                */
                function showDialog() {
                    var objW = $(window); //当前窗口
                    var objC = $(".dialog"); //对话框
                    var brsW = objW.width();
                    var brsH = objW.height();
                    var sclL = objW.scrollLeft();
                    var sclT = objW.scrollTop();
                    var curW = objC.width();
                    var curH = objC.height();
                    //计算对话框居中时的左边距
                    var left = sclL + (brsW - curW) / 2;
                    //计算对话框居中时的上边距
                    var top = sclT + (brsH - curH) / 2;
                    //设置对话框在页面中的位置
                    objC.css({ "left": left, "top": top });
                }

                $(window).resize(function () {//页面窗口大小改变事件
                    if (!$(".dialog").is(":visible")) {
                        return;
                    }
                    showDialog(); //设置提示对话框的Top与Left
                });

                $(".title img").click(function () { //注册关闭图片点击事件
                    $(".dialog").hide();
                    $(".mask").hide();
                })

                $("#Button3").click(function () {//注册取消按钮点击事件
                    $(".dialog").hide();
                    $(".mask").hide();
                })

                $("#Button2").click(function () {//注册确定按钮点击事件
                    $(".dialog").hide();
                    $(".mask").hide();
                    if ($("input:checked").length != 0) {//如果选择了删除行
                        $(".divShow").remove(); //删除某行数据
                    }
                })
            })
        </script>

读<jquery 权威指南>[2]-事件的更多相关文章

  1. 读&lt;jquery 权威指南&gt;[1]-选择器及DOM操作

    今天是小年了,2013马上要过去了,但是学习不能间断啊.最近正在看<jQuery权威指南>,先温习一下选择器和DOM操作. 一.基本选择器 1.table单双行: $(function ( ...

  2. 读&lt;jquery 权威指南&gt;[3]-动画

    一. 显示与隐藏——hide(),show() 1. 方法: hide(speed,[callback]); show(speed,[callback]); 说明:这两个方法还可以实现带动画效果的显示 ...

  3. 读&lt;jquery 权威指南&gt;[4]-Ajax

    一.获取异步数据 jQuery可以从服务器异步获得静态数据. ①load() $.load(url,data,callback) url要加载的页面地址, data发送到服务器的数据key/value ...

  4. 读&lt;jQuery 权威指南&gt;[6]--实用工具函数

    官方地址:http://api.jquery.com/category/utilities/ 一.数组和对象操作 1. $.each——遍历 $.each(obj,function(param1,pa ...

  5. 读&lt;jQuery 权威指南&gt;[5]-插件

    一.说明 jQuery插件官网:http://plugins.jquery.com/ 使用插件时引用顺序:插件引用要位于主jquery库之后. 二.插件应用实例 演示插件jquery.validate ...

  6. 读&lt;jquery 权威指南&gt;[7]-性能优化与最佳实践

    一.优化选择器执行速度 1. 优先使用ID选择器和标记选择器 使用选择器时应该首选ID选择器($("#id")),其次是标记选择器($("div")),最后再选 ...

  7. 跟小静读《jQuery权威指南》——目录

    前言 2014年开始了,年底给自己制订的学习计划,第一步先从学习<jQuery权威指南>开始. jQuery大家都很比较熟悉,但是我经常是边用的时候边对照着API,这次找本书通读一遍,记录 ...

  8. 《jQuery权威指南》学习笔记之第2章 jQuery选择器

    2.1 jQuery选择器概述 2.1.1 什么使选择器 2.1.2 选择器的优势: 代码更简单,完善的检测机制  1.代码更简单   示例2-1     使用javascript实现隔行变色 < ...

  9. 1.17学习jquery权威指南

    1.ajax方面(东西比较杂,很多相关于.net挂钩的服务器端接触没有实际操作,全部放进来,或许以后当作demo使用) ¥(“body”).load("text.txt");   ...

随机推荐

  1. Java 哈希表运用-LeetCode 1 Two Sum

    Given an array of integers, find two numbers such that they add up to a specific target number. The ...

  2. winform总结3&gt; 有趣的bat/winform程序完成自己的任务,然后把自己删除

    在winform的开发过程中往往会有这样的应用场景,执行完成某任务之后,程序需要把本身删除掉.比如卸载.分享一个比较简单实现. 思路就是利用批处理,关闭文件后执行bat,bat执行删除主文件,然后删除 ...

  3. Activity系列讲解---数据传递

    在Android中,不同的Activity实例可能运行在一个进程中,也可能运行在不同的进程中.因此需要一种特别的机制帮助我们在Activity之间传递消息.Android中通过Intent对象来表示一 ...

  4. [No000076]用Eclipse编写python(配置PyDev插件)

    下载,安装python解释器 地址:https://www.python.org/downloads/ 下载,安装java jdk 地址:http://www.oracle.com/technetwo ...

  5. SQL查询第m条到第n条的方法

    SQL查询第m条到第n条的方法 如表名为GOOD Sselect top (n-m) * from GOODS where (某一列名) not in (select top m (某一列名) fro ...

  6. JAVA 多线程随笔 (一) 可见性和volatile关键字

    // 先上代码 1 public class NoVisibility { private static boolean ready; private static int number; priva ...

  7. list对象属性排序

    Collections.sort(list, new Comparator<ScRel>() { @Override public int compare(Object o1, Objec ...

  8. 挖掘机力矩限制器/挖掘机称重系统/挖泥机称重/Excavators load protection/Load moment indicator

    挖掘机力矩限制器是臂架型起重机机械的安全保护装置,本产品采用32位高性能微处理器为硬件平台 ,软件算法采用国内最先进的液压取力算法,该算法吸收多年的现场经验,不断改进完善而成.本产品符合<GB1 ...

  9. win7-32 系统 + VS2010 配置 glew

    网上下载的程序,运行时报错:  C1083: 无法打开包括文件:“gl\glew.h”: No such file or directory. 百度一下,发现需要配置 glew 库. 方法如下: 下载 ...

  10. HDU 1508 DP

    题意:规定一个数列 = {这个数的质因子只能包括2,3,5,7},求第n个数字是多少: 思路:暴力打表,然后只粘数据,虽然过了,但是正解其实是DP,每一个数字都是由某一个该数列里的某一个数字乘以2,3 ...