0

Dojo Legends を切り替えるより良い方法を探しています。残念ながら、それらはストレートなチェックボックスではないため、動作させる唯一の方法は、Dojo チェックボックスでクリック イベントをトリガーすることでした。

現在、私は次のようなものを使用しています:

$('.dojoxLegendText').each(function(index) {
  var lblText = $.trim($(this).text());
  //if statement here to determine if legend should be toggled
  $(this).trigger('click');
});

これに関する私の問題は、凡例が切り替えられている間のページのスクロールです。ユーザーにとってはあまり喜ばしいことではありません。

スクロールを防ぐためのより良い代替手段または解決策はありますか?

4

2 に答える 2

0

Legends /チェックボックスのオンとオフを切り替えるために使用できるtoggleSeriesという関数を作成しました。

function toggleSeries (legend,num) { // legend = SelectableLegend

dojo.query("*",legend.legends[num])[0].click();

dijit.findWidgets(legend.legends[num])[0]._onClick(); }

jsfiddle の例を次に示します。

http://jsfiddle.net/luciancd/92Dzv/17/

その機能の詳細については、次の最新の投稿をご覧ください。

スパイダー プロットでデフォルトでシリーズを非表示にする

ルシアン

于 2013-02-14T00:08:03.130 に答える
0

それらは dijit チェックボックスです。使ってみてください

firstcheckbox=dijit.byId("dijit_form_CheckBox_0"); secondcheckbox=dijit.byId("dijit_form_CheckBox_1");

「dijit_form_CheckBox_0」は、ウィジェットの ID を表します。Dojo はそれらを自動的に提供するので、firebug を使用してチェックボックスにカーソルを合わせ、ID を確認してみてください。

以下を使用してチェックを外すことができます。

firstcheckbox.set("チェック済み",false);

ウィジェットを取得するより良い方法は、Dojo を使用して凡例内のウィジェットを取得することです。そのためにここを見てください:

Dojo で DOM 要素内のすべてのウィジェットの子孫を見つける方法はありますか?

于 2013-02-12T09:53:26.807 に答える