Возьмите следующую страницу:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"/>
</head>
<body>
<div class="hashtag">#one</div>
<div class="hashtag">#two</div>
<form accept-charset="UTF-8" action="/home/index" method="post">
<textarea id="text-box"/>
<input type="submit" value ="ok" id="go" />
</form>
<script type="text/javascript">
$(document).ready(function(){
$(".hashtag").click(function(){
var txt = $.trim($(this).text());
$("#text-box").append(txt);
});
});
</script>
</body>
</html>
Поведение, которое я ожидаю, и что я хочу достичь, заключается в том, что когда я нажимаю на один из div с классом hashtag
, их содержимое ( "#one" и "#two" соответственно) будет добавлено в конце текста в textarea text-box
.
Это происходит, когда я нажимаю на теги хэша сразу после загрузки страницы. Однако, когда я также начинаю редактировать текст в text-box
вручную, а затем возвращаюсь к щелчку на любом из хэш-тегов, которые они не добавляют в Firefox. В Chrome происходит самая странная вещь - весь текст, который я набираю вручную, заменяется новым хэштегом и исчезает.
Я, наверное, делаю что-то очень нехорошее здесь, поэтому я был бы признателен, если кто-то может указать на мою ошибку здесь и как это исправить. Спасибо.