2012-12-20 15 views
7
द्वारा बनाई तत्व को jQuery प्रभाव लागू करने के

हैलो मैं मेरे विचार में निम्नलिखित कोड है:कैसे Knockout.js

 <div data-bind="foreach: Elements"> 
      <div data-bind="attr:{id: id}"> 
       <img data-bind="attr:{src: ImageSource}" /> 
       <p data-bind="text: Name"></p> 
      </div> 
     </div> 

लेकिन हर नए तत्व के लिए मैं की तरह jQuery effet जोड़ना चाहते हैं:

 $("#draggable").draggable(); 

क्या इस सूची में शामिल तत्व के बाद होने वाली घटना के लिए सब्सक्राइब करने का कोई तरीका है?

+0

आप का उपयोग [MutationObserver] (https://developer.mozilla.org/en-US/docs/DOM/MutationObserver) आप घटना सदस्यता नॉकआउट से अलग रखना चाहते हैं पर एक नज़र हो सकता था। 'MutationObserver डेवलपर्स को एक डोम में परिवर्तनों पर प्रतिक्रिया करने का एक तरीका प्रदान करता है। यह उत्परिवर्तन घटनाक्रम में DOM3 घटनाक्रम परिभाषित – Nope

उत्तर

10

यह करने के लिए सबसे अच्छा तरीका है कस्टम बाइंडिंग का उपयोग करने के लिए है।

ko.bindingHandlers.draggable= { 
    init: function(element, valueAccessor) { 
     $(element).draggable(); 
    } 
}; 

    <div data-bind="foreach: Elements"> 
     <div data-bind="attr:{id: id}, draggable: {}"> 
      <img data-bind="attr:{src: ImageSource}" /> 
      <p data-bind="text: Name"></p> 
     </div> 
    </div> 

प्रलेखन में इसके बारे में और पढ़ें: http://knockoutjs.com/documentation/custom-bindings.html

+0

OMG specification.' के लिए एक स्थानापन्न के रूप में बनाया गया है! बहुत से, बहुत, बहुत धन्यवाद! – Eugene

संबंधित मुद्दे