zoukankan      html  css  js  c++  java
  • jQuery事件

    1.ready()

    ready()事件类似于onLoad()事件,但前者只要页面的DOM结构加载后便触发,而后者必须在页面全部元素加载成功才触发,ready()可以写多个,按顺序执行。此外,下列写法是相等的:

    $(document).ready(function(){})等价于$(function(){});

    <script type="text/javascript">
                $(document).ready(function(){
                    $("#btntest").bind("click", function () {
                        $("#tip").html("我被点击了!");
                    });
                });
            </script>

    2.bind()

    bind()方法绑定元素的事件非常方便,绑定前,需要知道被绑定的元素名,绑定的事件名称,事件中执行的函数内容就可以,它的绑定格式如下:

    $(selector).bind(event,[data] function)

    参数event为事件名称,多个事件名称用空格隔开,function为事件执行的函数。

    <script type="text/javascript">
                $(function () {
                    $("#btntest").bind("click", function () {
                        $(this).attr("disabled", "true");
                    })
                });
            </script>

    还可以加入多个事件:

     $("div").bind("click",
                    function () {
                        $(this).removeClass("backcolor").addClass("color");
                    }).bind("dblclick", function () {
                        $(this).removeClass("color").addClass("backcolor");
       })

    产生的效果是需要双击时第二个函数才能有作用。因为是在第一的基础上添加的第二个函数。

    3.hover()

    hover()方法的功能是当鼠标移到所选元素上时,执行方法中的第一个函数,鼠标移出时,执行方法中的第二个函数,实现事件的切实效果,调用格式如下:

    $(selector).hover(overout);

    over参数为移到所选元素上触发的函数,out参数为移出元素时触发的函数。

    <script type="text/javascript">
                $(function () {
                    $("div").hover(
                    function () {
                        $(this).addClass("orange");
                    },
                    function () {
                        $(this).removeClass("orange")
                    })
                });
            </script>

    4.toggle()

    toggle()方法可以在元素的click事件中绑定两个或两个以上的函数,同时,它还可以实现元素的隐藏与显示的切换,绑定多个函数的调用格式如下:

    $(selector).toggle(fun1(),fun2(),funN(),...)

    其中,fun1,fun2就是多个函数的名称.

    $("div").toggle(
                            function(){
                            $(this).html("1");
                        },
                        function(){
                            $(this).html("2");
                }
       );

    5.unbind()

    unbind()方法可以移除元素已绑定的事件,它的调用格式如下:

    $(selector).unbind(event,fun)

    其中参数event表示需要移除的事件名称,多个事件名用空格隔开,fun参数为事件执行时调用的函数名称。

    <script type="text/javascript">
                $(function () {
                    $("div").bind("click",
                    function () {
                        $(this).removeClass("backcolor").addClass("color");
                    }).bind("dblclick", function () {
                        $(this).removeClass("color").addClass("backcolor");
                    })
                    $("#btntest").bind("click", function () {
                        $("div").unbind();
                    });
                });
      </script>

    6.one()

    one()方法可以绑定元素任何有效的事件,但这种方法绑定的事件只会触发一次,它的调用格式如下:

    $(selector).one(event,[data],fun)

    参数event为事件名称,data为触发事件时携带的数据,fun为触发该事件时执行的函数。

    <script type="text/javascript">
                $(function () {
                    var intI = 0;
                    $("div").one("click", function () {
                        intI++;
                        $(this).html(intI);
                    })
                });
            </script>

    上述例子如果用bind()intI会一直加一,但是one()则不会。

    7.trigger()

    trigger()方法可以直接手动触发元素指定的事件,这些事件可以是元素自带事件,也可以是自定义的事件,总之,该事件必须能执行,它的调用格式为:

    $(selector).trigger(event)

    其中event参数为需要手动触发的事件名称。

    <script type="text/javascript">
                $(function () {
                    $("div").bind("change-color", function () {
                        $(this).addClass("color");
                    });
                    $("div").trigger("change-color");
                });
            </script>

    8.focus和blur

    focus事件在元素获取焦点时触发,如点击文本框时,触发该事件;而blur事件则在元素丢失焦点时触发,如点击除文本框的任何元素,都会触发该事件。

    <script type="text/javascript">
                $(function () {
                    $("input")
                    .bind("focus", function () {
                        $("div").html("请输入您的姓名!");
                    })
                    .bind("blur", function () {
                        if ($(this).val().length == 0)
                            $("div").html("你的名称不能为空!");
                    })
                });
            </script>

    9.change

    当一个元素的值发生变化时,将会触发change事件,例如在选择下拉列表框中的选项时,就会触change事件。

    <script type="text/javascript">
                $(function () {
                    $("select").bind("change", function () {
                        alert("值改变了");
                    })
                });
            </script>

    10.live()

    bind()方法相同,live()方法与可以绑定元素的可执行事件,除此相同功能之外,live()方法还可以绑定动态元素,即使用代码添加的元素事件,格式如下:

    $(selector).live(event,[data],fun)

    参数event为事件名称,data为触发事件时携带的数据,fun为触发该事件时执行的函数。

    <script type="text/javascript">
                $(function () {
                    $("#btntest").live("click" , function () {
                        $(this).attr("disabled", "true");
                    })
                    $("body").append("<input id='btntest' type='button' value='点击或移出就不可用了' />");
                });
            </script>

    如果用bind()的话,必须先添加元素即将$("body").append("<input id='btntest' type='button' value='点击或移出就不可用了' />");写在事件前面。

    努力吧,为了媳妇儿,为了家。。。
  • 相关阅读:
    序列JSON数据和四种AJAX操作方式
    jquery.validate和jquery.form.js实现表单提交
    JQuery Validate使用总结1:
    HOWTO: Include Base64 Encoded Binary Image Data (data URI scheme) in Inline Cascading Style Sheets (CSS)(转)
    SharePoint 2007 使用4.0 .Net
    动态IP解决方案
    取MS CRM表单的URL
    从Iframe或新开的窗口访问MS CRM 2011(转)
    Toggle or Hidden MS CRM Tab
    Windows 2008下修改域用户密码
  • 原文地址:https://www.cnblogs.com/jlj9520/p/5093386.html
Copyright © 2011-2022 走看看