【发布时间】:2011-05-18 18:40:52
【问题描述】:
我有一些代码,当用户单击“添加评论”链接时,它会在它旁边看起来某个命名的 div 并向下滑动该 div。在那个div里面我有一个textarea。
我的目标是在用户单击“添加评论”链接时将焦点设置在文本区域上。 我遇到的问题是我将有多个 cmets/textareas/add 评论链接,我需要它,所以当您点击“添加评论”时,它会关注相应的 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 -->
编辑:我更新了代码以添加 Add Comment 链接并将返回 false 移动
【问题讨论】:
-
你能发布一个更大的包含添加评论的 HTML 垃圾吗?我想给你一个带有演示的 jsbin 链接,但我想确保 HTML 是相同的 :)
-
你的意思是在焦点调用之前返回 false 吗?这当然行不通。
-
是的,那是真正的混合,如果您可以将 return false 移动到最后,请执行此操作。如果没有,请尝试将您的 更改为 或其他内容并设置样式
-
@Oscar - 抱歉,我认为最上面的代码第一次被剪掉了。 @John - 感谢您提供的信息。我没有意识到这一点。所以如果我使用 return false;它应该在最后吗?
-
是的,return false 基本上就像是休息;或杀死;在其他语言中。它会停在那里并跳出当前范围(如果我错了 StackOverflows 上的其他人,请纠正我)