簡體   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