繁体   English   中英

Jquery Focus()有麻烦

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM