我想要的是提供一些事件的自定義對象。 例如:在我自己的對象中實現事件
var CustomObjectTextChangedEventName = 'textChanged';
var CustomObject = function() {
var _this = this;
var _text = "";
_this.OnTextChanged = document.createEvent("Event");
_this.OnTextChanged.initEvent(CustomObjectTextChangedEventName, true, false);
_this.ChangeText = function (newText) {
_text = newText;
fireTextChanged();
};
function fireTextChanged() {
_this.dispatchEvent(_this.OnTextChanged);
}
}
使用事件看起來像代碼:
myCustomObject = new CustomObject();
myCustomObject.addEventListener(CustomObjectTextChangedEventName, handleTextChanged, false);
正如你可以看到... ...在JS使用事件的默認方式。 但我不能讓它成爲...
目前我的問題是,我的對象沒有實現「addEventListener」和「dispatchEvent」。但是這個功能通常是從「元素」實現的...
我可以讓它們以某種方式提供嗎?還是我必須爲我自己實現它們? 我該如何執行它們? 我是否必須實現自己的事件處理? (具有處理程序的內部列表,「添加」和「刪除」處理程序功能,並且當我想要觸發事件時觸發每個處理程序)
問候!
我不;噸知道這是否幫助,但Backbone.js的具有內置到他們的活動。使用它創建的每個模型都可以使用語法'object.trigger(event_name)'觸發自定義事件' – Deeptechtons
使用jQuery也很容易...這就是爲什麼我不能很難:P $(_ this).trigger(CustomObjectTextChangedEventName ,_text); $(myCustomObject).bind(CustomObjectTextChangedEventName,handleTextChanged); –