• 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='点击或移出就不可用了' />");写在事件前面。

    努力吧,为了媳妇儿,为了家。。。
  • 相关阅读:
    python-单链表的实现
    python-树形结构和遍历
    python四种简单排序
    python数据类型
    python安装和配置
    Js 中的false,零值,null,undefined和空字符串对象
    console和chrom-tool
    js中声明Number的五种方式
    vue下拉搜索
    canvas猜数游戏
  • 原文地址:https://www.cnblogs.com/jlj9520/p/5093386.html
Copyright © 2020-2023  润新知