jQuery事件自动触发

2020-02-01  本文已影响0人  David_Rao

事件自动触发

trigger()和triggerHandler()

  1. trigger()
$(".father").click(function () {
    alert("father");
});
$(".son").click(function () {
    alert("son");
});
$(".son").trigger("click");  // son  father
  1. triggerHandler()
$(".father").click(function () {
    alert("father");
});
$(".son").click(function () {
    alert("son");
});
$(".son").triggerHandler("click");  // son
  1. **trigger()和triggerHandler()的区别
  1. 注意点:
    trigger要想触发a标签的默认行为,需要在a标签中包有span或其它标签
$("span").click(function () {
    alert("a");
});
$("span").trigger("click");

<a href="http://www.baidu.com"><span>我是百度</span></a>

jQuery自定义事件

想要自定义事件,必须满足两个条件

  1. 事件必须通过on绑定
  2. 事件必须通过trigger或者triggerHandler来触发
$(".son").on("myClick", function () {
    alert("son");
});
$("son").trigger("myClick");

jQuery事件命名空间

想要事件的命名空间有效,必须满足两个条件

  1. 事件是通过on来绑定的
  2. 通过trigger或triggerHandler触发事件
$(".son").on("click.name1", function() {
    alert("click1");
});
$(".son").on("click.name2", function() {
    alert("click2");
});
$(".son").trigger("click.name2");  // click2
$(".son").on("click.name1", function() {
    alert("click1");
});
$(".son").on("click.name1", function() {
    alert("click2");
});
$(".son").trigger("click.name1");  // click1  click2
上一篇 下一篇

猜你喜欢

热点阅读