如何根据点击关注textarea?

时间:2011-05-18 18:40:52

标签: jquery focus textarea

我有一些代码,当用户点击链接“添加评论”时,它看起来旁边有一个命名的div,并向下滑动该div。在那个div里面我有一个textarea。

我的目标是在用户点击“添加评论”链接时将焦点设置在textarea上。 我遇到的问题是我会有多个评论/ textareas /添加评论链接,我需要它,所以当你点击“添加评论”时,它会集中在相应的textarea上。

到目前为止我所拥有的:

的jQuery

$(".add-comment-btn").click(function(){
    $(this).next(".inline-comment-form").slideToggle(200);
    $(this).next(".inline-comment-form textarea").focus();
    return false;
});

HTML

<a class="add-comment-btn" href="#">Add Comment</a>         

<div class="inline-comment-form">
<form action="" method="post">
        <div class="textarea">
            <textarea class="inline-comment-textarea" name="comment-textarea"></textarea>
        </div>
        <input value="SUBMIT" name="submit-inline-comment" class="form-btn" type="submit">

    </form>
</div><!--/Inline Comment Form -->  

修改:我更新了代码以添加添加评论链接并移动了返回false

2 个答案:

答案 0 :(得分:4)

http://jsfiddle.net/Frgxv/

$(".add-comment-btn").click(function(){
    $(this).next(".inline-comment-form").slideToggle(200)
           .find("textarea").focus();

    return false;
});

next仅适用于兄弟姐妹,textarea不是兄弟姐妹。

答案 1 :(得分:1)

嘿,试一试:http://jsfiddle.net/jackrugile/XNkES/

我正在使用以下似乎有效的代码:

$(this).next(".inline-comment-form").slideToggle(200).find('textarea').focus();