我對常規工具提示進入了相同的問題。在iPhone上,點擊身體(即其他地方)時,它們不會消失。
我的解決方案是,當你點擊工具提示本身時,它就隱藏起來。恕我直言,這應該集成在bootstrap分發中,因爲它很少有很大影響的代碼。
當你有機會來引導人士透露,在文件中添加tooltip.js
this.tip().click($.proxy(this.hide, this))
如方法Tooltip.prototype.init的最後一行:
Tooltip.prototype.init = function (type, element, options) {
this.enabled = true
this.type = type
this.$element = $(element)
this.options = this.getOptions(options)
var triggers = this.options.trigger.split(' ')
for (var i = triggers.length; i--;) {
var trigger = triggers[i]
if (trigger == 'click') {
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
} else if (trigger != 'manual') {
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
}
}
this.options.selector ?
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
this.fixTitle()
// Hide tooltip when clicking on it. Useful for mobile devices like iPhone where eventOut
// (see above) on $element is not triggered and you don't get rid of the tooltip anymore.
this.tip().click($.proxy(this.hide, this))
}
如果沒有在手頭上,你可以用下面的方法達到同樣的效果:
$(function()
{
// Apply tooltips
var hasTooltip = $("[data-toggle='tooltip']").tooltip();
// Loop over all elements having a tooltip now.
hasTooltip.each(function()
{
// Get the tooltip itself, i.e. the Javascript object
var $tooltip = $(this).data('bs.tooltip');
// Hide tooltip when clicking on it
$tooltip.tip().click($.proxy($tooltip.hide, $tooltip))
}
);
});
對我來說,這樣做對我們很好呃在iPhone上體驗:點擊元素查看工具提示。點擊它消失的工具提示。
無法得到您的問題..tooltip或popover? becouse tooltip在鼠標離開時消失 –
使用工具提示。 http://twitter.github.com/bootstrap/javascript.html#tooltips - 我想要它,所以如果工具提示是可見的,另一個工具提示被點擊;可見工具提示將隱藏。 – user1381806
你可以發佈你的HTML嗎? – ZimSystem