为什么我不能集中使用slideDown()显示的控件?

Tel*_*ler 1 jquery

我想在单击按钮时显示一个带有输入的div,并设置其焦点.

如果我使用show(),它可以工作,但是如果我使用slideDown(),则在动画完成后焦点会丢失.我怎样才能防止这种情况发生?

示例代码:

$("document").ready(function(){
    $("#MyButton").click(function(e){
        e.preventDefault();
        $(".SlidingDiv").slideDown();
        $("#MyInput").focus();
    });
});

<input type="button" value="Click Me" id="MyButton" />
<div class="SlidingDiv" style="display:none;"><input type="text" id="MyInput" /></div>
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 10

试试这个:

$(function(){
    $("#MyButton").click(function(e){
        e.preventDefault();
        $(".SlidingDiv").slideDown(function(){
            // Callback function - will occur when sliding is complete.
            $("#MyInput").focus();
        });
    });
});
Run Code Online (Sandbox Code Playgroud)