1

一旦淘汰赛完成渲染for循环,我发现很难找到将引导工具提示应用于我的img的方法。

下面显示了正确的图像,并显示了“标准” html 工具提示,但 .tooltip() 调用未激活引导工具提示。

我哪里错了?

视图模型

self.handleAfterRender= function(elements, data) {
    $(elements).find('img').tooltip();
}

HTML

<div data-bind="with: $root.SelectedSubmission">
  <div data-bind="foreach: {data: To, afterRender: handleAfterRender}">
    <div class="pull-left">
      <img class="mediumprofileimage" rel="tooltip" 
           data-bind="attr: {src: ProfilePicture, alt: Fullname, title: Fullname}" />
      <br/>
      <span data-bind="text: Fullname"></span>
    </div>
  </div>
  <div class="clearfix"></div>
</div>

我发现了更多关于这个问题的信息。似乎该元素正在失去对tooltip(). 我不确定我是否必须使用jquery.on().live()以某种方式保持绑定。

4

2 回答 2

1

你可以在这里找到答案或者试试Knockout-bootstrap这是一个不错的选择

于 2014-02-09T22:02:44.700 回答
0

在您的情况下,您应该使用 foreach,因为afterRender获得了插入的 DOM 元素的数组:

$(elements).each(function(index,element){ $(element).find('img').tooltip()});

但我认为最好使用afterAdd事件而不是afterRender,因为您需要为每个添加的项目添加工具提示,然后您将能够像现在尝试工作一样单独处理每个项目:

$(element).find('img').tooltip();

链接到关于后处理或动画生成的 DOM 元素的KnockoutJs 文档

于 2012-09-11T13:55:14.083 回答