次の行が何をするのか、何か考えはありますか?
ここでの「Popup」とはどのようなイベントですか?
fireEvent('Popup','ok');
イベントは通常、2つのタイプに分けられます。DOMEventおよびClass.Event。
最も一般的には、後者が重要です。this.fireEvent('popup', 'ok');何か素晴らしいことが起こったことをインスタンスに知らせます。
[Options,Events]インスタンスが次のコマンドで作成されている場合は、クラスのミックスインと組み合わせて使用されます。
var foo = new someclass({
onPopup: function(status) {
console.log(status); // ok!
console.log(this); // the instance (foo);
}
});
// later.
foo.fireEvent('popup', 'fail');
しかし、あなたの場合、それがクラスに関するものかどうかはわかりません。理由は次のとおりです。
また、さまざまなコンポーネントをpub / subするためにイベントを発生させることができる、DOM要素のような緩い/あいまいな環境でイベントを使用することもできます。例えば。window.fireEvent('popup', 'ok');-またはあなたの例のようにfireEvent('popup')-それ自体で-他のコンテキストが定義されていないため、グローバルウィンドウオブジェクトでイベントコールバックを起動します。
これは、次のようにブロックに追加したものすべてで機能します。
window.addEvent('popup', function(status) {
});
コンテキストオブジェクトを入力しないことは、スコープチェーンのルックアップと読みやすさのために本当にくだらないです。あなたができるという事実は、fireEvent('domready')あなたがすべきだという意味ではありません。それを書いた人は誰でも、読みやすさを促進しないばかげたショートカットを取っていました。fireEventそれ自体はプロトタイプからのexpandoプロパティであり、グローバル変数/関数ではありませんが、投稿したコードによると1つのように見えます...
明らかに(そしてドキュメントによると'Popup')、引数を持つタイプのイベントを発生させます'ok'。これはカスタム イベント タイプのように見えるため、正確に何を行い、引数をどのように解釈するかを調べるには、このイベントを処理するコードのソースまたはドキュメントを参照する必要があります。