2016-08-02 6 views
0

私は.dotdotdotのjQueryプラグインでKnockoutJSを使用している問題があります。 は、私は同様の構造を持っている:jQuery dotdotdotプラグインの無効化knocokutバインディング

<div class="dotdotdot"> 
    <h3 data-bind="text: Text"></h3> 
</div> 
<input data-bind="value: Text"/> 
<button data-bind="click: someThingsThatTriggerDotdotdotFunction"/>  

問題がdotdotdot関数がクラスdotdotdotとhtml要素に呼び出されたときに結合関係が壊れてしまうことです。

$('.dotdotdot').dotdotdot({}); 

h3上記のコードが実行される値は、もはや入力値を変更した後、更新された後。

私はノックアウトの新人です。私は私の問題についていくつかの助けを求めたいと思います。

+1

が鳴ります。ノックアウトを使用してカスタムバインディングを行う必要があるかもしれません。この記事を読むhttp://www.knockmeout.net/2011/07/another-look-at-custom-bindings-for.html –

答えて

0

私は問題を回避するためにカスタムバインディングのハンドラを作成:競合があるよう

ko.bindingHandlers.dotDotDot = { 
 
    update: function (element, valueAccessor, allBindingsAccessor) { 
 
     var options = ko.utils.unwrapObservable(valueAccessor()); 
 
     var value = allBindingsAccessor().dotDotDot.Value; 
 

 
     $(element).html(value()); 
 

 
     var dotdotdot = $(element).parent().truncate(options); 
 

 
     allBindingsAccessor().dotDotDot.Value.subscribe(function (newValue) { 
 
      $(element).html(newValue); 
 
      dotdotdot.trigger("update.dot"); 
 
     }); 
 
    } 
 
};

<div class="announcement-container"> 
    <div data-bind="dotDotDot: { Value: Announcement, height: 80 }"></div> 
</div> 
関連する問題