javascript - InDesignのMacOSで、Ractiveが入力で押されたすべてのキーをキャプチャしないのはなぜですか?

原文 javascript ractivejs adobe-indesign

Ractiveと双方向でバインドしているHTML入力があります。

<input type="password" value="{{password}}">


ここの「パスワード」は、私のRactiveで双方向にバインドされた値です。次に、それを使用して計算された値を取得します。

computed : {
    validPassword : function() {
        return $.trim(this.get("password")).length > 0; 
    },
},


この計算値は、ボタンをアクティブ化(非アクティブ化)するために使用されます。

<div
    {{#if validPassword}}
    <button type="button" on-click="connect">connect</button>
    {{else}}
    <button type="button" disabled="disabled">connect</button>
    {{/if}}
</div>


入力に何かを入力すると、validPasswordの値がRactiveによって再計算されないようです。しかしおかしなことに、入力から文字を削除すると、値が再計算され、ボタンの状態が更新されます。

Ractive構成で、キーが押されるたびに計算された値を再計算する可能性がある何かを見逃しましたか(オブザーバー?)?

PS:この問題はMac OS(10.9)でのみ発生します。これはWindowsでは問題なく動作します。
答え
これは本当にInDesignの埋め込みクロムのバグであるに違いありません。

とにかく、Rich Harrisによって提案されたように、機能する解決策は次の回避策です。提案されたjsfiddleで必須の行を使用します。

<input type="password" value="{{password}}" on-keydown-input-change='set("password",event.node.value)'>


Mac OSのInDesignエンジンは、双方向バインディングのvalueタグでのinput属性の使用を理解していないようです。 HTMLからJSに値をバインドするには、on-keydown-input-change属性を使用し、Ractiveで手動で値を設定する必要があります

編集:単純なon-keydown-input属性を使用することもできます(変更を削除します)。これでうまくいきます。
関連記事

javascript - 3つの動的ドロップダウンに入力する

javascript - angularjs、tooltipster-mouseenterの問題

javascript - $ scopeの値をAngular JSで定義されている関数の外で取得する方法

javascript - JavaScriptとJqueryを使用した単純な製品フィルター

javascript - クリック時にCSSメニューを非表示にする

javascript - リダイレクトなしのOffice 365 OAuth

javascript - テキストボックスとドロップダウン値を追加する(数学)

javascript - JQGrid-「v4.3.2の新機能」イベントをバインドしようとして成功せず

javascript - イベントハンドラーをSVGグループに動的にアタッチするにはどうすればよいですか?

javascript - AngularJsのディレクティブを使用して、読み取りの多い/少ないトグルを作成します。