BackboneJS view.setElement()方法
如果希望應用一個Backbone,在不同的DOM元素,使用setElement,這也將創造緩存 $el參考並從舊元素移動視圖的事件委托給新的那個。
語法
view.setElement(element)
參數:
- element: 一種可以從現有的元件被改變為不同的元素的元素。
示例
<!DOCTYPE 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="myview"> Enter your text: <input type="text"/> </div> <div id="myapp"></div> <script type="text/javascript"> //'ViewDemo' is a name of the view class var ViewDemo = Backbone.View.extend({ //Event triggers 'sayHi' function when you enter the text in input tag events: { 'change input': 'sayHi' }, //This function is called when the view is instantiated initialize: function() { this.setElement($('#myview')); //'setElement' changes the element associated with the view }, //when you enter the text, it displays the below line on the screen sayHi: function() { document.write('Welcome to gitbook.net!!!'); } }); //'viewdemo' is a instance of the 'ViewDemo' class var viewdemo = new ViewDemo; </script> </body> </html>
輸出
讓我們進行以下步驟來看看上麵的代碼工作:
-
保存上述代碼在文件setelement.html
-
在瀏覽器打開這個HTML文件。