5

因此,当使用 Knockout.js 将工具提示应用于某些 KO 绑定的 HTML 元素时,我使用了 knockout-bootstrap.js 库来协助引导工具提示初始化。

<a href="#" data-bind="attr: { tabindex: -1 }, tooltip: { title: buyerHelp, placement: 'top', trigger: 'click', container: 'body' }"><i class="glyphicon glyphicon-help"></i></a>

我正在使用触发器:'单击'而不是悬停,因为悬停工具提示在使用 iPad 显示后不会再次隐藏。当我点击工具提示图标时,工具提示显示正常,但如果页面滚动,它会跳回顶部。我不确定在这个问题上应该采取什么方向。

我目前正在使用 Bootstrap 3.0,但与 Boostrap 2.3 有同样的问题,谢谢!

4

3 回答 3

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

于 2014-03-05T02:04:43.970 回答
2

可能添加container: 'body'到选项哈希可能会有所帮助,例如:

data-bind="attr: { tabindex: -1 }, tooltip: { title: sellerHelp, placement: 'top', trigger: 'click', container: 'body' }"
于 2013-11-07T17:11:01.157 回答
0

我发现使用 CSS 通常可以解决这个问题。

我建议尝试添加/删除一个位置:相对于父级。

此外,以下是过去给我带来问题的以下 CSS 属性: - 位置 - 边距 - 高度

如果没有小提琴看,很难准确地说出它是什么。这不是图书馆,因为在演示中他们有一个工作示例。

于 2014-03-03T06:46:26.923 回答