2016-04-28 7 views
0

DOM以外のカスタムイベント(従来のchrome.Eventインターフェイス)を作成して手動で保存してトリガーする方法は何ですか?Chrome拡張機能でカスタムイベントを作成するための最も慣れた方法

obj.event1.addListener(callback); 
obj.event2.removeListener(callback); 
... 

が有効な呼び出しです:

は、私は、このようなobj.event1など、いくつかのイベントオブジェクトを作成したいとobj.event2ようにその上で私のプログラムでオブジェクトobjを持っています。

自分で実装するのはかなり簡単ですが、もっと良い方法があるのだろうかと思っていました。ありがとう。

個人研究:

  • DOM eventsは:
  • chrome.eventsためとdocumentオブジェクトから作成されます。カスタムイベントに
  • Chrome eventsを作成する方法を説明せずにインターフェイスが表示されます。それがルールを追加する方法を示してい既存のイベントに追加できますが、独自のカスタムイベントを作成する方法には影響しません。

答えて

1

chrome.Eventはカスタムイベントに使用できません。ライブラリなしでカスタムイベントをトリガする

次のように、標準のDOMイベントを使用することができます。

var listener = function(evt) { 
    console.log(evt.detail); 
}; 

var target = document.createElement('a'); // Anything that implements EventTarget 
target.addEventListener('myEvent', listener); 
target.dispatchEvent(new CustomEvent('myEvent', { 
    detail: 'test', 
})); 

あなたが見ることができるように、document上のすべてのイベントを登録する必要はありません、それは使用することは非常にも可能ですEventTarget interfaceを実装するオブジェクトです。

関連する問題