2

私はprototype.jsとscript.aculo.usで簡単なギャラリーを作ろうとしています。左右の矢印を処理するためにこのコードを作成しましたが、機能しません

Gallery.Arrow = Class.create(document.createElement('a'), {
  initialize: function(listener) {
    this.on('click', listener);
    this.addClassName('xjsl-arrow');
  }
});

this.onは未定義です。初期化関数でClass.create($(document.createElement('a')), ...、またはElement.extend (this)を試しましたが、何も機能しません。

Event.Handler(this, 'click', listener)を試してみましたが、 prototype.js ライブラリ内のelement.attachEventからエラーが発生しました。

HTML要素に基づいてクラスを作成することは可能ですか?

4

1 に答える 1

0

このように Element.Methods 名前空間に基づいてクラスを構築してみてください

Gallery.Arrow = Class.create(Element.Methods, {
    initialize: function(element,listener) {
        this.on(element,'click', listener);
        this.addClassName(element,'xjsl-arrow');
    }
});

jsfiddle の例http://jsfiddle.net/rPLa8/

于 2013-09-19T16:17:41.247 に答える