我已经实现了一个knockout foreach绑定,在同一页面中的多个模板,其中一个示例在这里,我感兴趣的是找出一个块完成渲染,我试过afterRender和afteradd,但我想它运行对于每个元素,而不是在整个循环完成后。
<ul data-bind="foreach: {data: Contacts,afteradd: myPostProcessingLogic}"> <li> <div class="list_container gray_bg mrgT3px"> <div class="list_contact_icon"></div> <div class="contact_name"><span data-bind="text: first_name"></span> <span data-bind="text: last_name"></span></div> <div class="contact_number"><span data-bind="text: value"></span></div> <div class="callsms_container"> <a href="#notification-Box" class="notifcation-window"> <div class="hover_btn tooltip_call"> <div class="hover_call_icon"></div> <span>Call</span></div> </a> <a class="sendsms" href="#sendsms" rel="#sendsms"> <div class="hover_btn tooltip_sms"> <div class="hover_sms_icon"></div> <span>SMS</span></div> </a> <a href="#"> <div class="hover_more_btn"></div> </a> </div> <!-- close callsms container --> <div id="notification-Box" class="notification-popup"> <a href="#" class="close"><img class="btn_close" src="images/Box_cross.png"/></a> <img class="centeralign" src="images/notification_call.png"/> <span>Calling... +44 7401 287366</span> </div> <!-- close notification Box --> <!-- close list gray bg --> <div class="tooltip_description" style="display:none" id="disp"> asdsadaasdsad </div> </div> </li> </ul>
这里是我的afteradd函数,它基本上附加一些jquery事件,没有什么。
myPostProcessingLogic = function(elements) { $(function(){ $(".list_container_callog").hover(function(){ $(".callsms_container",this).stop().animate({left:"0px"},{queue:false,duration:800}); },function() { $(".callsms_container",this).stop().animate({left:"-98%"},duration:800}); }); }); }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。