2011-05-18 61 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