04-jQuery事件和动画

2019-02-05  本文已影响0人  喝酸奶要舔盖__

事件绑定

$("button").click(function () {
    alert("111");
});
$("button").on("click",function () {
     alert("111");
});

注意点:
可以添加多个相同或者不同类型的事件,不会覆盖


事件移除

$("button").off();
$("button").off("click");
function test1() {
        alert("hello lnj");
}
$("button").click(test1);
$("button").off("click", test1);

事件自动触发

    $(".son").click(function () {
        alert("son");
    });

    $(".father").click(function () {
        alert("father");
    });

    $(".son").trigger("click");
    $(".son").triggerHandler("click");

注意点:
a标签自动使用自动触发方法不会自动跳转,可以在a标签内部在包裹一个标签解决此问题


事件命名空间

    $(".father").on("click.ls", function () {
        alert("father click1");
    });

    $(".father").on("click", function () {
        alert("father click2");
    });

    $(".son").on("click.ls", function () {
        alert("son click1");
    });

    $(".son").trigger("click.ls");
    $(".son").trigger("click");

事件委托

  $("button").click(function () {
        $("ul").append("<li>我是新增的li</li>");
    });
    //新增加的li不能响应点击事件
    /*$("ul>li").click(function () {
        console.log($(this).html());
    });*/

    /*
    以下代码的含义, 让ul帮li监听click事件
    之所以能够监听, 是因为入口函数执行的时候ul就已经存在了, 所以能够添加事件
    之所以this是li,是因为我们点击的是li, 而li没有click事件, 所以事件冒泡传递给了ul,ul响应了事件, 既然事件是从li传递过来的,所以ul必然指定this是谁
    */
    $("ul").delegate("li","click",function () {
        console.log($(this).html());
    });

移入移出事件

//注册移入事件
$(".son").mouseenter(function () {
    console.log("mouseenter");
});
//注册移出事件
$(".son").mouseleave(function () {
    console.log("mouseleave");
});
    //hover方法同时接收两个函数一个是移入处理,一个是移出处理
    $(".father").hover(function () {
        console.log("11");
    },function () {
        console.log("22");
    });
上一篇 下一篇

猜你喜欢

热点阅读