1

backgroundColorのプロパティ ( )をアニメーション化しようとしていますdijit/form/TextBox。これがうまくいかなかったとき、私は髪を引っ張り始めていました:

var node = dom.byId("myTextBox");
fx.animateProperty( {
    node : node, 
    duration : 750, 
    properties : {
        backgroundColor : {
            start : "yellow"
        }
    }
}).play();

ただし、これは機能します。

var node = dom.byId("myTextBox");
fx.animateProperty( {
    node : node.parentNode.parentNode, // grandparent of "myTextBox" 
    duration : 750, 
    properties : {
        backgroundColor : {
            start : "yellow"
        }
    }
}).play();

それはどのように機能するはずですか?このページの例は必要ありませんが、いずれも TextBox を使用していません。

副次的な質問: JQueryUI のhighlight効果にもっと直接的に相当するものはありますか? それが私の目的です。

4

1 に答える 1

1

dijit.byId("myTextBox")代わりに、ウィジェット オブジェクトへの参照を取得する方がよいでしょう。次に、強調表示しようとしているものに応じて、myTextBox.domNodeまたは参照することができます。myTextBox.focusNode実際のテキスト入力領域を強調表示するか背景にするかはわかりませんが、この単純な jsfiddleは両方を示しています。コードは次のように変更されます。

var textbox = dijit.byId("myTextBox");
fx.animateProperty( {
    node : textbox.focusNode // If you are trying to highlight the input background 
    duration : 750, 
    properties : {
        backgroundColor : {
            start : "yellow"
        }
    }
}).play();
于 2013-07-13T05:09:43.447 に答える