它同樣就像listenTo事件,當監聽發生在回撥函式被刪除之前的一次。
object.listenToOnce(other, event, callback)
<!DOCTYPE html> <head> <title>Event Once 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> <script type="text/javascript"> //Create an object 'myVal' and 'myVal1' and extend them using Backbone.Events method var myVal = _.extend({name:'Saurav Ganguly'}, Backbone.Events); var myVal1 = _.extend({name:'Sachin Tendulkar'}, Backbone.Events); //created the 'listenMe' callback function and invoked when one object listen to particular event on another object var listenMe = function(){ document.write("The value is: "); document.write(this.name); }; //The object 'myVal1' listen once for the 'listenMe' event triggered on object 'myVal' myVal1.listenToOnce(myVal, 'listenMe', listenMe); //The 'myVal' has no listenMe event and display the value of 'myVal1' myVal.trigger('listenMe'); </script> </body> </html>
讓我們進行以下步驟來看看上面的程式碼工作:
儲存上述程式碼在檔案listentoonce.html
在瀏覽器中開啟這個HTML檔案。