0

カスタム イベントについてかなりの調査 (Google) を行ってきましたが、質問に対する答えが見つからないようです。

私の質問は次のとおりです。この例では、スライドしているdiv内に s があり、divすべての子 s にアタッチされているカスタム イベントを作成したかったので、子の左オフセットが特定の範囲に達するdivたびに、カスタムdivその上のリスナーdivが実行されます。

本当に問題はonchangeclickonmouseupなどと同じレベルで本当にカスタムのイベント リスナーを作成できるかということです。

4

2 に答える 2

1

jQueryを使用していることがわかりました。jQuery を使用してカスタム イベントを定義するのは非常に簡単です。私は次のようなパターンを使用します。

// Constructor
function Colorbar() {
    this.events = $({});
    // (Whatever else is in the class)
}
colorbar = new Colorbar();

その後、任意の名前のイベントをリッスンできます。

colorbar.events.on("currentcolorchanged", function(e, cb, ncolor) {
    helper.doColorChanged(ncolor);
});

そしてそれをトリガーします:

this.events.triggerHandler("currentcolorchanged", [this, ncolor]);

DOM オブジェクトを操作している場合は、DOM オブジェクトの jQuery をキャッシュするだけです。

var $ele = $("#myElement");
$ele.on("myCustomEvent", function(e) {
    // Event handler
});
$ele.triggerHandler("myCustomEvent");
于 2012-10-11T15:31:22.023 に答える
0

はい、onchange click onmouseup などのように機能する真のカスタム イベントを作成できますが、既存のイベントまたはメソッドに基づいてリスナー コードを自分で作成する必要があります。

この場合、移動イベントでオフセット値を確認し、その目標値に達したときにカスタム イベントをトリガーします。

于 2012-10-11T15:32:30.920 に答える