« Laszloでのevent処理はおもいのほか難しい? | メイン | Item Mapにほしい機能を考える その1 »

Laszloでのevent処理はおもいのほか難しい? (解決編)

  はてなブックマークに追加 このエントリを livedoor クリップへ追加

Laszloでのevent処理はおもいのほか難しい?での問題が解決しました。


marker側でeventを処理するのに<handler>ではなく、<method event="eventName" reference="objectName">を利用します。これによって、referenceで参照するオブジェクトが発行するeventを処理することができます。どのeventを処理するかを指定するのがevent="eventName"です。

以下に、サンプルコードを載せておきます。

<method event="minThumbValueChanged" reference="hSlider">
_screening();
</method>
<method event="maxThumbValueChanged" reference="hSlider">
_screening()
</method>

<method event="minThumbValueChanged" reference="vSlider">
_screening();
</method>
<method event="maxThumbValueChanged" reference="vSlider">
_screening()
</method>


<method name="_screening">
<![CDATA[
var hmin = hSlider.sliderPane.minThumb.value;
var hmax = hSlider.sliderPane.maxThumb.value;
var vmin = vSlider.sliderPane.minThumb.value;
var vmax = vSlider.sliderPane.maxThumb.value;
if( hmin <= this._nPrice && this._nPrice <= hmax && vmin <= this._rating && this._rating <= vmax ) {
this.setVisible( true );
} else {
this.setVisible( false );
}
]]>
</method>


method名は重複しても、おこられませんでした。handerのほうが使い勝手がよさそうに記述されていたので、handlerを重点的に試していたため、ここまで、たどり着くのが大変でしたTT。


この問題が解決したことで、Item Mapにスクリーニング機能を追加することができました。

Ads BOARD








最近のエントリーとその関連エントリー

トラックバック

このエントリーのトラックバックURL:
http://kazuhiro.ty.land.to/blog/mt-tb.cgi/54

  Map