7-1 jQuery自定义事件之trigger事件
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery自定义事件之trigger事件

众所周知类似于mousedown、click、keydown等等这类型的事件都是浏览器提供的,通俗叫原生事件,这类型的事件是需要有交互行为才能被触发。

在jQuery通过on方法绑定一个原生事件

$('#elem').on('click', function() {
    alert("触发系统事件")
 });

alert需要执行的条件:必须有用户点击才可以。如果不同用户交互是否能在某一时刻自动触发该事件呢? 正常来说是不可以的,但是jQuery解决了这个问题,提供了一个trigger方法来触发浏览器事件

所以我们可以这样:

$('#elem').trigger('click');

在绑定on的事件元素上,通过trigger方法就可以调用到alert了,挺简单!

再来看看.trigger是什么?

简单来讲就是:根据绑定到匹配元素的给定的事件类型执行所有的处理程序和行为

trigger除了能够触发浏览器事件,同时还支持自定义事件,并且自定义时间还支持传递参数

$('#elem').on('Aaron', function(event,arg1,arg2) {
    alert("自触自定义时间")
 });
$('#elem').trigger('Aaron',['参数1','参数2'])

trigger触发浏览器事件与自定义事件区别?

 

 

任务

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <style>
  8. .left div,
  9. .right div {
  10. width: 500px;
  11. height: 50px;
  12. padding: 5px;
  13. margin: 5px;
  14. float: left;
  15. border: 1px solid #ccc;
  16. }
  17.  
  18. .left div {
  19. background: #bbffaa;
  20. }
  21.  
  22. .right div {
  23. background: yellow;
  24. }
  25. </style>
  26. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  27. </head>
  28.  
  29. <body>
  30. <h2>自定义事件trigger</h2>
  31. <div class="left">
  32. <div><span></span><span>0</span>点击次数</div>
  33. <button>直接点击</button>
  34. <button>通过自定义点击</button>
  35. </div>
  36. <script type="text/javascript">
  37.  
  38. //点击更新次数
  39. $("button:first").click(function(event,bottonName) {
  40. bottonName = bottonName || 'first';
  41. update($("span:first"),$("span:last"),bottonName);
  42. });
  43.  
  44. //通过自定义事件调用,更新次数
  45. $("button:last").click(function() {
  46. $("button:first").trigger('click','last');
  47. });
  48.  
  49. function update(first,last,bottonName) {
  50. first.text(bottonName);
  51. var n = parseInt(last.text(), 10);
  52. last.text(n + 1);
  53. }
  54. </script>
  55. </body>
  56.  
  57. </html>
  58.  
下一节