我想使用jQuery的焦點()方法,我不明白爲什麼它不工作。這裏有一個小提琴:http://jsfiddle.net/3RGRv/4/
當您按下「準備搖滾」,該按鈕的處理程序被調用,並且在它的內部,$('#playlistNameInput').focus();
控制檯記錄消息確認,這是達到和處理,但仍然沒有焦點發生。任何想法爲什麼這是?
我想使用jQuery的焦點()方法,我不明白爲什麼它不工作。這裏有一個小提琴:http://jsfiddle.net/3RGRv/4/
當您按下「準備搖滾」,該按鈕的處理程序被調用,並且在它的內部,$('#playlistNameInput').focus();
控制檯記錄消息確認,這是達到和處理,但仍然沒有焦點發生。任何想法爲什麼這是?
使用本
setTimeout(function(){$('#playlistNameInput').focus();},500);
你的第一個問題是,在#step1
你有隨機按鈕結束標記。 Input
s是自動關閉的。
下面是步驟1和2對清理後的版本:
// Step 1
<input id="playlistNameInput" size="10">
that has at least <input id="totalHours" size="2"> hours and
<input id="totalMins" size="2"> minutes of music.</p>
// Step 2
<input id="songTitle" placeholder="Title">
<input id="songArtist" placeholder="Artist">
<input id="songMinutes" placeholder="Minutes">
<input id="songSeconds" placeholder="Seconds">
其次,當你點擊「準備搖滾」,它把你帶到#step2
,不具有#playlistNameInput
。
最後,移動$('#playlistNameInput').focus()
到fadeOut
以便它能夠運行之後的下一個步驟是在褪色。
$("#prompt").fadeOut('10000', function()
{
$("#step1").css("visibility", "visible").hide().fadeIn('slow');
$('#playlistNameInput').focus();
});
如果該元素沒有顯示(或者至少被認爲是佈局的一部分),它就不能被聚焦。等到動畫完成後淡出,然後調用'focus'。如果這不起作用,我不知道爲什麼。 Backbone和jQuery的結合是很難看的。附: ''不關閉'' – Ryan
備註:您應驗證您的HTML代碼,這將顯示出大量潛在問題。例如,一個HTML文檔應該有一個「head」部分,而不是「header」部分。 http://validator.w3.org/ – Guffa
'分鐘'大聲笑我想你忘了在代碼複製時刪除''。 –