ホームページ >ウェブフロントエンド >jsチュートリアル >カスタム イベントのサポートをカスタム オブジェクトに追加するチュートリアル_JavaScript スキル

カスタム イベントのサポートをカスタム オブジェクトに追加するチュートリアル_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 19:05:471696ブラウズ

私は普段、他人が書いたコードを読まないのですが、なぜですか?疲れた!しかもこの同志がくれたものは圧縮されていた!汗。 。 。私をテストしてくださいね?また、この同志はサンプルコードを示さず、コードに問題はないとだけ言った。一生懸命「解読」しようとしましたが、脳細胞がすぐに死んでしまいました。バカになる前に、下を向かないと決めた。カスタムオブジェクトにカスタムイベントのサポートを追加するだけではないでしょうか?例を書いてみますが、チュートリアルとはいえ、理解できなければどうしようもありません。私はあなたのためにコードを書いて、それを売ってお金をもらうほど愚かなことはしません。
さて、これが私が書いたコードです。注目してください:


[Ctrl A すべて選択 注: 外部 Js を導入する必要がある場合は、更新して実行する必要があります
]

この例では、カスタマイズされています。 A: JCEvent、c1、c2、c3 はすべてそのインスタンスです。
各インスタンスには oOutline があり、私は通常これをオブジェクトのコンテナとして使用します。 pParent は、カスタム オブジェクトが表示される場所を示すために使用されます。指定されていない場合は、document.body となります。

この例では、onCreate、onChangeSkin、onClick の 3 つのカスタム イベントを定義しました。
onCreate は create メソッドでトリガーされます。
onChangeSkin は setSkin メソッドでトリガーされます。
onClick は oOutline.onclick でトリガーされます。

呼び出しシーケンス:
create メソッド内で onCreate が呼び出されるため、c1.onCreate は c1.create() の前に宣言する必要があります。

イベント パラメータについては、次を参照してください。

this.setSkin = function(pSkin){
var oldSkin = oOutline.className;
oOutline.className = pSkin; > if(typeof this.onChangeSkin == "関数")
this.onChangeSkin(oldSkin,pSkin)
}


this.onChangeSkin(oldSkin,pSkin);こうすることで、各インスタンスで oldSkin と newSkin を使用できます。

例:
c1.onChangeSkin = function(pOld,pNew){
alert("onChangeSkin イベント n は c1 のスキンを設定します: n 新しいスキン: " pNew " n 古いスキン: "

$.$css = function(pKey,pValue,p){
var obj = p ? $.$ (p) : this;
obj.$css = $.$css;
} >この段落、Object.prototype.$css = function(...) の記述はまったく失敗しています。理由については、ここでの議論の範囲を超えています。


何も言うことはないので、理解できない人のために空白のままにしてください。JavaScript の知識を向上させようとしています。
余談になりますが、jQuery、プロトタイプ、json などを常に扱う必要はありません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。