BackboneJS - View delegateEvents

描述

使用回调方法将元素绑定到指定的 DOM 元素以处理事件。如果从视图中删除事件,则可以使用此方法将事件附加到视图。

语法

delegateEvents(events)

参数

events − 它提供重新附加到视图所需的事件。

示例

<!DOCTYPE html>
<html>
   <head>
      <title>View Example</title>
      <script src = "https://code.jquery.com/jquery-2.1.3.min.js"
         type = "text/javascript"></script>
      
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js"
         type = "text/javascript"></script>
      
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"
         type = "text/javascript"></script>
   </head>
   
   <body>
      <div id = "mydiv"></div>
      <script type = "text/javascript">
         
         //'ViewDemo' 是视图类的名称
         var ViewDemo = Backbone.View.extend ({

            //当点击事件发生时,它会激活定义的函数“delegateFunc”
            events: {
               'click button': 'delegateFunc'
            },
            delegateFunc: function () {
               this.remove();   //'remove()' 方法从 DOM 中删除视图
               document.write("Welcome to Tutorialspoint...");
            },

            //'render' 提供构造视图所需的逻辑
            render: function () {

               //'$el' 是缓存对象,它推送其中定义的内容,并且
               //当用户点击按钮时显示值
               this.$el.html('<button>Click to delegate events</button>');
            },

            //实例化视图时调用此函数
            initialize:function() {
               this.render();
            }
         });

         //'myview' 是 'ViewDemo' 类的实例
         var myview = new ViewDemo({el: '#mydiv'});   //'el' 定义使用哪个元素作为视图引用

         //Here defining the events which are reattaching to the view 
         //using 'delegateEvents()' method
         myview.delegateEvents();
      </script>
      
   </body>
</html>

输出

让我们执行以下步骤来查看上述代码的工作原理 −

  • 将上述代码保存在 delegateevents.htm 文件中。

  • 在浏览器中打开此 HTML 文件。

backbonejs_view.html