1

我建立了这个回复系统,人们可以通过点击回复其他评论reply。当他们单击它时,它会运行此功能以将@user其放在评论的开头:

$('#inputField').focus();
$('#inputField').text('');
$('#inputField').append(atowner);

atowner是调用函数时传入的变量。

这很好用,因为您可以继续点击reply许多不同的评论,它总是会删除并<textarea>用新的@newuser.

我的问题是,如果我在 中输入一些<textarea>内容,然后将其全部删除,然后单击回复,它就不起作用了。但这很有趣,因为实际的 HTML 仍然显示它已放入@user<textarea>但您无法在网站上看到它。当您继续提交评论时,它会在没有@user.

所以基本上,为什么 HTML 对我撒谎,为什么它只在我<textarea>第一次键入和擦除时才显示(其余时间工作)?

4

3 回答 3

1

作为输入(即使认为它是您不textarea应该使用的,或者您的代码将是:val()appendtext

$('#inputField').focus();
$('#inputField').val(atowner);

这应该可以解决您的问题,您也应该使用它val来检索内容。

这在页面加载时和用户执行任何操作之前有效,因为它读取 DOM 以填充可见内容,textarea但在用户开始使用它之后被视为输入,这就是它不再从 DOM 呈现任何内容的原因里面。

于 2013-04-05T20:35:22.747 回答
1

你可以简单地这样做:

$('#inputField').focus().val(atowner);
于 2013-04-05T20:37:53.610 回答
0

如果你使用

$('#inputField').val(atowner);

?

于 2013-04-05T20:35:27.980 回答