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

时间:2008-11-21 17:13:16

标签: 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>

2 个答案:

答案 0 :(得分:10)

试试这个:

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

答案 1 :(得分:1)

我认为只有在DIV完全停止滑动后你才能关注元素? 不确定......