附加到 reddit <textarea> 不会反映出来。只出现在 DOM
Appending to reddit <textarea>'s is not reflected. Only appears in DOM
我正在为《炉石传说》子版块编写 Chrome 扩展。
工作原理: 当用户在 Reddit 评论 <textarea>
中键入“[[”时,它会创建一个 <select>
。用户从列表中选择一张卡片。
目标: 扩展程序应该将卡的名称添加到 <textarea>
中并带有 ']]',因此结果类似于 [[Dreadsteed]]。此格式适用于 /u/hearthscan-bot.
问题: 扩展确实将卡的名称添加到 <textarea>
,但是,它仅反映在 DOM 中。 The text does not appear in the browser.
讨论: 我认为一定是 Reddit 使用的某些插件导致了这个问题。我觉得特别奇怪的是,如果你在评论 <textarea>
中输入任何内容,你将不会在 DOM 的任何地方看到它。如何让附加文本反映在浏览器中?
问题出在您的代码上。您不使用 append() 将文本添加到 input/textarea。您设置值。
// replaces it
$(HearthSearch_activeTextArea).value($(this).val());
// add to the end
var ta = $(HearthSearch_activeTextArea)
ta.value(ta.value() + $(this).val());
//or another way to do it without the extra varaible
$(HearthSearch_activeTextArea).val(function(i, text) {
return text + quote;
});
我正在为《炉石传说》子版块编写 Chrome 扩展。
工作原理: 当用户在 Reddit 评论 <textarea>
中键入“[[”时,它会创建一个 <select>
。用户从列表中选择一张卡片。
目标: 扩展程序应该将卡的名称添加到 <textarea>
中并带有 ']]',因此结果类似于 [[Dreadsteed]]。此格式适用于 /u/hearthscan-bot.
问题: 扩展确实将卡的名称添加到 <textarea>
,但是,它仅反映在 DOM 中。 The text does not appear in the browser.
讨论: 我认为一定是 Reddit 使用的某些插件导致了这个问题。我觉得特别奇怪的是,如果你在评论 <textarea>
中输入任何内容,你将不会在 DOM 的任何地方看到它。如何让附加文本反映在浏览器中?
问题出在您的代码上。您不使用 append() 将文本添加到 input/textarea。您设置值。
// replaces it
$(HearthSearch_activeTextArea).value($(this).val());
// add to the end
var ta = $(HearthSearch_activeTextArea)
ta.value(ta.value() + $(this).val());
//or another way to do it without the extra varaible
$(HearthSearch_activeTextArea).val(function(i, text) {
return text + quote;
});