Val*_*Val 3 javascript jquery append
我正在尝试在textarea上面创建几个按钮来插入一些HTML代码 - 一个非常糟糕的HTML编辑器.我有几个输入元素,和我使用jQuery设置点击处理程序将调用的jQuery的append()或者html()或text()功能.
处理程序触发,它显示调试alert(),但我试图追加的文本没有显示在textarea中.当我检查Firebug中的textarea时,我看到我作为textarea的子项附加的文本 - 但它变暗了,就像元素的样式设置为display:none.但Firebug的CSS检查员没有显示任何显示或可见性属性的变化.
当我将click处理程序设置为'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>
Run Code Online (Sandbox Code Playgroud)
Javascript:
function insert( cmd ) {
switch ( cmd ) {
case 'bold':
$('#PersonalGreeting').append('<b>bold text here</b>');
break;
}
}
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 11
我猜想jQuery正试图将HTML DOM元素附加到textarea.
尝试使用该val方法来获取和设置textarea值,如下所示:
$('#PersonalGreeting').val($('#PersonalGreeting').val() + '<b>bold text here</b>');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3811 次 |
| 最近记录: |