Javascript 如何避免使用setTimeout将锚点集中在iOS上
我一直在使用Javascript 如何避免使用setTimeout将锚点集中在iOS上,javascript,jquery,mobile-safari,Javascript,Jquery,Mobile Safari,我一直在使用setTimeout(),以便在弹出窗口打开后在锚点上设置焦点 var openModal = function(e) { $popup.fadeIn('fast'); setTimeout(function() {$closeModal.focus();}, 300); e.preventDefault(); }; 这样就行了 这样不行: var openModal = function(e) { $popup.fadeIn('fast', fun
setTimeout()
,以便在弹出窗口打开后在锚点上设置焦点
var openModal = function(e) {
$popup.fadeIn('fast');
setTimeout(function() {$closeModal.focus();}, 300);
e.preventDefault();
};
这样就行了
这样不行:
var openModal = function(e) {
$popup.fadeIn('fast', function() {$closeModal.focus();});
e.preventDefault();
};
有什么想法吗?你是想使用
fadein
的回调方法吗?@GeorgeBailey与我发布的第二个函数不同<代码>$popup.fadeIn('fast',function(){$closeModal.focus();})代码>@theUnnamed。jquery中fadeIn方法的第二个参数是callback,第三个参数是callback。尝试将您的函数作为第三个参数传递,看看是否有效。@VinodKolla这些参数都是可选的,jQuery检查类型,因此您的建议不是必需的。请提供一个我们可以运行以重现问题的