Я пытаюсь разрешить пользователям регистрироваться на сайте, и когда они нажимают на определенный элемент, этот элемент будет меняться во входное текстовое поле, а затем разрешить пользователю вводить туда все, что захочет.
Однако, как только я нажимаю поле inout, он добавляет больше кода для другого поля ввода. Имеет ли это смысл?
Вот мой jQuery:
$('.editTagline').click(function() {
var content = $(this).html();
$(this).html('<input type="text" value="' +content+ '">');
});
Вот JSFiddle: http://jsfiddle.net/nSY4Y/, если вы щелкнете по слову tagline, а затем попробуйте ввести текст в текстовое поле ввода, вы увидите проблему.
Вы можете использовать one()
, таким образом, он работает только один раз для каждого элемента
$('.editTagline').one('click', function () {
var content = $(this).html();
$(this).html('<input type="text" value="' + content + '">');
});
Вы можете использовать от:
$('.editTagline').on('click', function () {
var content = $(this).html();
$(this).html('<input type="text" value="' + content + '">');
$(this).off('click');
});