我正在尝试在 textarea 上方创建几个按钮来插入一些 HTML 代码——一个非常穷人的 HTML 编辑器。我有几个 INPUT 元素,并且我正在使用 jQuery 设置一个单击处理程序,该处理程序将调用 jQuery 的append()
or html()
ortext()
函数。
处理程序触发,它显示一个调试警报(),但我试图附加的文本没有出现在文本区域中。当我在 Firebug 中检查 textarea 时,我看到了作为 textarea 子项附加的文本——但它变暗了,就像元素的样式设置为 display:none 一样。但是 Firebug 的 CSS 检查器没有显示对显示或可见性属性的任何更改。
当我将点击处理程序设置为“append()”,然后多次点击时,在 Firebug 中我看到文本被一遍又一遍地添加——但每个新块仍然不可见。如果我在 Firebug 中选择“编辑 HTML”,然后在附加文本旁边键入一些字符,整个文本块——由 jQuery 添加的文本和我在 Firebug 中添加的内容——会突然出现。
如果我不使用点击处理程序,但使用内联处理程序调用我的附加函数,也会发生这种情况onclick="javascript:insert('bold');"
任何人都知道为什么不显示附加的文本?
以下是相关代码:
的HTML:
<input type='button' id='bold' value='B' onclick='javascript:insert("bold")' />
<textarea name='PersonalGreeting' id='PersonalGreeting'>default text</textarea>
Javascript:
function insert( cmd ) {
switch ( cmd ) {
case 'bold':
$('#PersonalGreeting').append('<b>bold text here</b>');
break;
}
}