正如它的名字說明一樣,它可以用來停止監聽到另一物件的事件。
object.stopListening(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:'Hello..'}, Backbone.Events); var myVal1 = _.extend({name:'Welcome to YiiBai..'}, Backbone.Events); //created the 'listenMe' callback function and invoked when one object listens to particular event on another object var listenMe = function(){ document.write("The value is: "); document.write(this.name); }; //The object 'myVal1' listens once for the 'listenMe' event triggered on object 'myVal' myVal1.listenTo(myVal, 'listenMe', listenMe); //The 'myVal' has no 'listenMe' event and display the value of 'myVal1' myVal.trigger('listenMe'); //The 'myVal1' stops listening to specific event on 'myVal' and displays nothing myVal1.stopListening(myVal,'listenMe'); myVal.trigger('listenMe'); </script> </body> </html>
讓我們進行以下步驟來看看上面的程式碼工作:
儲存上述程式碼在檔案stoplistening.html
在瀏覽器中開啟這個HTML檔案。