因此,当使用Knockout.js将工具提示应用于某些KO绑定HTML元素时,我正在使用knockout-bootstrap.js lib来协助引导工具提示初始化。
<a href="#" data-bind="attr: { tabindex: -1 }, tooltip: { title: buyerHelp, placement: 'top', trigger: 'click', container: 'body' }"><i class="glyphicon glyphicon-help"></i></a>
我正在使用触发器:'click'而不是悬停,因为悬停工具提示在使用iPad显示后不会再次隐藏自己。当我点击工具提示图标时,工具提示显示正常但如果页面滚动则会跳回到顶部。我不确定这个问题的方向。
我目前正在使用Bootstrap 3.0,但与Boostrap 2.3存在同样的问题 谢谢!
答案 0 :(得分:3)
单击时是否实际遵循了链接?如同在点击后尝试加载锚点的href值的页面?由于整个标记未包含在您的示例中,我不确定它是否是一个锚..而且我不确定knockout-bootstrap.js库是否确保数据绑定事件无法返回(因为它们会在默认点击事件上)。如果锚点试图在点击时关注链接,您可以尝试观察点击事件并阻止数据绑定中的事件。比如在工具提示之后:
data-bind="attr: { tabindex: -1 }, tooltip: { title: sellerHelp, placement: 'top', trigger: 'click' }, click: function(data, event) { event.preventDefault(); }"
希望这有帮助!
同样一般来说,最好在viewModel中使用处理程序并将其从那里阻止,而不是内联。
阅读点击事件在淘汰赛中的处理方式可能会很好:http://knockoutjs.com/documentation/click-binding.html
答案 1 :(得分:2)
可能会在选项哈希中添加container: 'body'
可能会有所帮助,例如:
data-bind="attr: { tabindex: -1 }, tooltip: { title: sellerHelp, placement: 'top', trigger: 'click', container: 'body' }"
答案 2 :(得分:0)
我发现使用CSS通常可以解决这个问题。
我建议尝试添加/删除一个位置:相对于父级。
此外,以下是以下为我带来问题的CSS属性: - 位置 - 保证金 - 身高
没有小提琴看它很难确切地说它是什么。这不是图书馆,因为在演示中他们有一个有效的例子。