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