我试图在输入值中添加几个字符实体。 我只能在向事件处理程序添加内联时添加这些字符实体。
内联工作
value="enter name –>" onfocus="if(this.value=='enter name –>'){this.value=''};
剂量不起作用,因为我喜欢说被称为一个功能 它显示" &安培;#150;&安培; GT;"
if(ds.value==''){
ds.value='enter name –>';
}
答案 0 :(得分:1)
您可以在javascript中输入直接值, 或者在分配之前用简单的javascript解码它们。
请参阅:http://jsfiddle.net/mFtVa/1/
<input id='inline' value="enter name –>" />
<input id='func_direct' value="" />
<input id='func_entity' value="" />
<script>
var ds= document.getElementById('func_direct');
var de = document.getElementById('func_entity');
function decode(str)
{
var s = document.createElement("TEXTAREA");
s.innerHTML = str;
return s.value;
}
if(ds.value==''){
ds.value='enter name ->';
}
if(de.value==''){
de.value = decode('enter name –>');
}
答案 1 :(得分:1)
另一种方法是使用unicode:
<input value="enter name ->" onfocus="if(this.value=='enter name ->'){this.value=''};" onblur="check(this);" />
所有值均为十六进制。
function check(ds) {
if(ds.value==''){
ds.value='enter name \u002D\u003E';
}
}
另见jsfiddle。
答案 2 :(得分:0)
试试这个
ds.value='enter name \–>';