jQuery $()。焦点不起作用

时间:2014-01-11 00:21:22

标签: javascript jquery

我正在尝试使用jQuery的focus()方法,但我不明白为什么它不起作用。这是一个小提琴:http://jsfiddle.net/3RGRv/4/

按“准备摇滚”时,会调用按钮处理程序,并在其中$('#playlistNameInput').focus();

控制台会记录确认已达到并处理此消息的消息,但仍然没有重点发生。知道为什么会这样吗?

2 个答案:

答案 0 :(得分:1)

使用此

 setTimeout(function(){$('#playlistNameInput').focus();},500);

答案 1 :(得分:0)

你的第一个问题是#step1你有随机按钮结束标记。 Input是自我关闭的。

以下是步骤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(); }); ,以便在之后运行下一步淡入。

{{1}}

完成。这是cleaned-up, working fiddle