1

チェックボックスがチェックされている場合、ドラッグ機能を呼び出そうとしているだけです。次の例を実装しようとしています。

1

node.call(function(d) { if d3.selectAll("input").property("checked", true) {return drag } })

2

d3.selectAll("input").on("change", change);

      
    function change() {

 if (this.value === true )  da();



       function da() {

      node.call(drag);

       }

エラーは表示されず、チェック後にドラッグされません- http://jsfiddle.net/gUF8x/3/

4

1 に答える 1

0

最大の問題はthis.value、状態ではなく、チェックボックスの値に設定されることです (たとえば、チェックボックスがチェックされているかどうかに基づいて true または false にならない)。代わりに、次を使用する必要がありますthis.checked

if (this.checked === true )  da();

これにより、呼び出しが可能になりda();ますが、エラーが発生します。これは、現在記述されているように、da()関数がグローバル スコープ内にない (現在はdraw()関数の子である) ため、探しているものを実現するためです。 for では、コードと構造をさらに変更する必要があります。少なくとも、ここから先はエラーが発生します...

于 2013-04-22T17:57:04.987 に答える