Twitter bootstrap 带knockout.js的引导工具提示

Twitter bootstrap 带knockout.js的引导工具提示,twitter-bootstrap,knockout.js,Twitter Bootstrap,Knockout.js,我发现很难找到一种方法来应用引导工具提示我的img一旦淘汰已经找到渲染for循环 下面显示了正确的图像,并显示了“标准”html工具提示,但引导工具提示未被.tooltip()调用激活 我哪里做错了 视图模型 self.handleAfterRender= function(elements, data) { $(elements).find('img').tooltip(); } HTML <div data-bind="with: $root.SelectedSubmissi

我发现很难找到一种方法来应用引导工具提示我的img一旦淘汰已经找到渲染for循环

下面显示了正确的图像,并显示了“标准”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()
来保持绑定的活动状态。

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

$(元素).each(函数(索引,元素){$(元素).find('img').tooltip())

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

$(元素)。查找('img')。工具提示()


链接到KnockoutJs文档,关于

在您的案例中,您应该使用foreach,因为afterRender获得了插入DOM元素的数组:

$(元素).each(函数(索引,元素){$(元素).find('img').tooltip())

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

$(元素)。查找('img')。工具提示()


链接到KnockoutJs文档关于

您可以找到答案或尝试这是一个不错的选择

您可以找到答案或尝试这是一个不错的选择

谢谢您的输入。我尝试了afteradd,但没有成功。我相信$(elements.find('img').tooltip();每种方式都具有与相同的效果。我发现了更多的信息,我已经在问题中发布了,谢谢你的输入。我尝试了afteradd,但没有成功。我相信$(elements.find('img').tooltip();每种方式都具有与相同的效果。我发现了更多的信息,我已经在M.b.问题中发布了。你可以在?M.b.中创建一些示例。你可以在?中创建一些示例。谢谢!这是一个比设置afterRender事件(我希望我的foreach循环不必知道如何操作,因为嵌套在其中的一些模板恰好需要一些jquery/bootstrap JS代码)更通用的修复方法(并且对KO更友好),谢谢!与设置afterRender事件相比,这是一个更通用的解决方案(并且更为友好)(我希望我的foreach循环不必知道如何操作,因为嵌套在其中的某些模板恰好需要一些jquery/bootstrap JS代码)