Подтвердить что ты не робот

JQuery - Поместить курсор в поле ввода при нажатии ссылки

Я хотел бы поместить курсор в поле ввода после нажатия на конкретную ссылку. Я использую это для небольшой поисковой системы.

Представьте входное поле: []. Затем некоторые ссылки, которые добавляют строку ввода, такую ​​как: Дания, Англия и т.д. В поле ввода.

Теперь мне нужно, чтобы курсор был помещен так: "Дания, [здесь]".

Возможно ли это?

* ОБНОВЛЕНИЕ *

Я использую этот код прямо сейчас, чтобы заменить текст, как бы вы добавили "курсор позиции"?

$('#denmark').click(function(){     
   $('#searchBoxBig').val('Denmark, ');
});
4b9b3361

Ответ 1

Вы можете установить, где находится курсор, в поле ввода с параметрами selectionStart и selectionEnd. Если вы не хотите, чтобы какой-либо текст был выбран, просто сделайте их равными друг другу.

Здесь вы можете сделать это:

var input = $("input");
input[0].selectionStart = input[0].selectionEnd = input.val().length;

Ответ 2

да, ухватить событие click на якоре, предотвратить действие по умолчанию и сфокусироваться на поле.

контекст функции содержит элемент, который был нажат, поэтому вы можете вычислить, в каком поле будет применяться вызов фокуса.

$(anchorSelector).live("click", function(e) {
   e.preventDefault(); 

   $(fieldSelector).focus()

   return false;
})