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