2011-05-18 84 views
0

我有一些代码,当用户点击一个链接“添加评论”时,它看起来有一个命名的div旁边,并滑动div下滑。在那个div里面我有一个textarea。如何根据点击关注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 --> 

编辑:我更新的代码添加添加注释链接和移动回假

+0

你可以发布一个包含添加评论的更大的HTML垃圾吗?我想给你一个演示jsbin链接,但我想确保HTML是相同的:) – 2011-05-18 18:43:49

+2

你的意思是在焦点调用之前返回false?这当然是行不通的。 – 2011-05-18 18:43:54

+0

是的,这是真正的混合动力,如果你可以将错误的回报移动到最后,就可以做到这一点。如果没有,请尝试将您的更改为或其他内容,只需将其设置为 – 2011-05-18 18:44:56

回答

3

http://jsfiddle.net/Frgxv/

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

    return false; 
}); 

next只与兄弟姐妹的作品,textarea的是不是兄弟。

+0

很酷,这正是我一直在寻找的。我依稀记得下一个质量,感谢提醒我。 – hybrid 2011-05-18 19:53:51

1

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

我使用下面的代码,似乎工作:

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

太棒了!这正是我所期待的!感谢jackrugile – hybrid 2011-05-18 19:52:02