[英]Having trouble with Jquery Focus()
单击覆盖触发器时,我试图将焦点放在覆盖内的链接按钮上。 这是代码:
$('.enroll-trigger, .nav-open-an-account').click(function(e) {
e.preventDefault();
enrollTabPos = 0;
$('#window-outer, body').removeClass('nav-open');
$('#mobile-menu-toggle').removeClass('active');
$('#top-nav > ul > li').removeClass('active');
$('#mobile-nav > ul > li').removeClass('active');
$('#internal-nav > ul > li').removeClass('active');
$('body').removeClass('login-overlay-open ext-overlay-open');
$('body').toggleClass('enroll-overlay-open');
$('#openaccount-checking').focus();
});
由于某种原因,使用focus命令的最后一行不起作用。 我可以单击触发元素,除了焦点更改之外,所有其他可能发生的事情都会发生。 我对thr页面中的其他叠加触发器有类似的焦点更改,它们也起作用,所以我迷失了为什么不这样做的原因。 我检查了ID,这是正确的。 谁能看看并告诉我发生了什么事? 您可以在http://investar.meshbr.com上查看该站点,相关触发器是顶部导航栏中的“打开帐户”按钮。
谢谢,
布赖恩
您在$(document).ready(function() {})
内部使用代码吗? 因为如果您不在外面,这不会加载。
当我检查您的网站并打开“帐户”按钮单击事件时。 您的JS引用的具有检查选项的弹出窗口有问题。 因此,它不起作用。
请检查此行this.popupMenu.open(); 在175和180行的JS“ MenuBarItemLink.JS”中。在175行可能有Show()属性。
看起来原始发布者通过将focus()
包装在setTimeout
以延迟其执行来解决了该问题。
所以这行:
$('#openaccount-checking').focus();
变成这个:
setTimeout(function(){
$('#openaccount-checking').focus();
}, 500);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.