【发布时间】:2015-07-30 09:45:34
【问题描述】:
我在网页的表单域上使用了简单的 jQuery UI 工具提示(即响应式),它在每个浏览器的桌面上都能完美运行,但在 iPad 上,当我点击表单域作为键盘向上滑动时,它会失真.我的网页的标题部分也固定在滚动上。 我已经为自定义 jQuery Tooltip 使用了以下代码。
$(function () {
$('.form-control').tooltip({
disabled: true,
position: {
my: "left top",
at: "left top-50",
using: function( position, feedback ) {
$( this ).css( position );
$( "<div>" )
.addClass( "arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}
}).on("focusin", function () {
$(this)
.tooltip("enable")
.tooltip("open");
}).on("focusout", function () {
$(this)
.tooltip("close")
.tooltip("disable");
});
});
我编写了这段代码,通过在文档大小更改时手动调用其focusin 触发器来重新初始化焦点字段的工具提示。它在桌面浏览器上按预期工作,但在 iPad 上的工具提示再次在同一位置重新初始化,即不正确。
var toolTipEl;
$('#inputSuccess, #inputWarning').tooltip({
open: function (event, ui) {
toolTipEl = event.target;
}
});
function checkDocumentHeight(callback){
var lastHeight = document.body.clientHeight, newHeight, timer;
(function run(){
newHeight = document.body.clientHeight;
if( lastHeight != newHeight )
callback();
lastHeight = newHeight;
timer = setTimeout(run, 100);
})();
}
function doSomthing(){
console.log('document resized');
setTimeout(function() {
if ($(toolTipEl).is(':focus')) {
$(toolTipEl).trigger('focusout').trigger('focusin');
}
}, 500);
}
checkDocumentHeight(doSomthing);
请帮我找出解决办法。
【问题讨论】:
标签: javascript css ipad jquery-ui tooltip