它與listenTo事件相同,但是會(huì)導(dǎo)致在回調(diào)函數(shù)被刪除之前只發(fā)生一次listen。
object.listenToOnce(other, event, callback)
other:定義其他對象的名稱。
event:它綁定一個(gè)對象。
callback:它是對代碼的引用,并以對象作為上下文調(diào)用。
<!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>
讓我們執(zhí)行以下步驟,看看上面的代碼如何工作:
The value is: Sachin Tendulkar
更多建議: