JQuery Textarea focus
Когда я нажимаю кнопку, я хочу, чтобы textarea
в этом элементе li
фокусировался.
<li class="commentBlock" id="commentbox-79" style="display: list-item;">
<div>
<div class="grid userImageBlockS">
<div class="imgSmall">
<img width="35" height="35" alt="image" src="/bakasura1/files/images/small/1288170363aca595cabb50.jpg">
</div>
</div>
<div class="grid userContentBlockS alpha omega">
<form accept-charset="utf-8" action="/bakasura1/account/saveComment" method="post">
<div style="display: none;">
<input type="hidden" value="POST" name="_method">
</div>
<input type="hidden" id="StatusMessageReplyPid" value="79" name="data[StatusMessageReply][pid]">
<input type="hidden" id="StatusMessageReplyItemId" value="1" name="data[StatusMessageReply][item_id]">
<input type="hidden" id="StatusMessageReplyCommentersItemId" value="1" name="data[StatusMessageReply][commenters_item_id]">
<textarea id="StatusMessageReplyMessage" name="data[StatusMessageReply][message]">
Write your comment...
</textarea>
<input type="submit" name="" value="Comment" class="comment" id="comment-79">
</form>
</div>
<div class="clear"></div>
</div>
</li>
Это мой код jQuery
:
$('.user-status-buttons').click(function() {
var id = $(this).attr('id');
$("#commentbox-"+id).slideToggle("fast");
$("#commentbox-"+id+" #StatusMessageMessage").focus();
return false;
});
Ответы
Ответ 1
Основываясь на вашем комментарии в ответ на Jacob, возможно, вы хотите:
$('.user-status-buttons').click(function(){
var id = $(this).attr('id');
$("#commentbox-"+id).slideToggle("fast", function(){
$("#commentbox-"+id+" #StatusMessageReplyMessage").focus();
});
return false;
});
Это должно дать фокус элемента #StatusMessageReplyMessage
после завершения эффекта слайда.
Ответ 2
Я использую таймер для фокусировки текстовых областей:
setTimeout(function() {
$el.find('textarea').focus();
}, 0);
Ответ 3
Самое простое решение - использовать фокус jQuery.
$('#StatusMessageReplyMessage').focus();
ПРИМЕЧАНИЕ: если вы тестируете это в консоли, Chrome отправит фокус обратно на консоль! Это может привести вас к мысли, что это не сработало, хотя на самом деле работает отлично. Просто знайте о других сценариях/поведении, привлекающих внимание в вашей среде, и все будет хорошо :)