2015-02-23 15 views
0

我有這樣的jQuery代碼:.focus()是否對pageload上的DOM中不存在的元素起作用?

$('.triggermodal').focus(function(event) { 
    $('#myModal').foundation('reveal', 'open'); 
    $('.focusme').focus(); 
}); 

它應該打開一個模式(使用Foundation框架),然後直接在瀏覽器的焦點在於模式內的輸入字段。出於某種原因,它不會引導焦點,我能想到的唯一可能性就是.focus()僅適用於pageload上的元素。 jQuery文檔沒有提到這個(我可以找到)。

如果我用.addClass(「hidden」)替換.focus(),.focusme確實會出現一個.hocus類,所以似乎在.focus()中有一些特別的錯誤。

任何意見讚賞。如果我遺漏了一些關鍵信息,請告訴我!

+0

你必須等待'foundation'過程完成。 – 2015-02-23 20:04:07

+0

我該怎麼做?我對jQuery比較陌生。 – Wilf 2015-02-23 20:07:16

+0

'.on'就是你要找的東西 - 查看它上面的jQuery文檔,並在99%的情況下使用它.click .focus等(除非構建一個龐大的應用程序 - 但如果你在這個階段,你會知道爲什麼) – 2015-02-23 20:23:59

回答

1

時候聽一聽模式是ready,然後做重點:

$(document).on('opened.fndtn.reveal', '[data-reveal]', function() { 
    if($(this).id == "myModal"){ 
    $('.focusme').focus(); 
    } 
}); 
+0

哈!我檢查了Zurb文檔,但事實證明我正在查看以前版本的文檔。非常感謝,整理出來。 – Wilf 2015-02-23 20:56:11

相關問題