我的树中有一个生成运行时的文本框,用于让用户输入文本框中的节点,我已经给出了水标记消息,在文本框的单击功能上输入了一些东西我已经清除了文本框,但在按键事件上我也希望文本被清除但不能这样做我已粘贴我的代码
function CreateTextBoxNode(SpnPrntId) {
var elem = document.createElement("input");
elem.type = "text";
elem.id = "txtParent";
elem.value = "Enter node name";
$(elem).css("color", "DarkGray");
elem.setAttribute('onblur', 'SetSpanValueForParent("' + SpnPrntId + '")');
$(elem).keypress(function(e) {
SetEnterValue(SpnPrntId, e);
});
$(elem).click(function() {
textClick();
});
$(elem).focus(function() {
textClick();
});
return elem;
}
function SetEnterValue(prntID, e) {
var key = checkBrowser(e);
if (key == 13) {
SetSpanValueForParent(prntID);
}
}
function textClick(){ $( “#txtParent”)VAL( '')。 }
按下键时按下输入后我必须将值附加到某个范围内我也尝试了它的焦点功能,所以当第一次文本框带有焦点设置时,它会删除信息。
答案 0 :(得分:4)
我认为使用可以在许多现代浏览器(Firefox,Chrome等)中使用的placeholder会更容易,然后使用jquery plugin来使其可以使用不兼容的浏览器。
这是另一个非常简单的版本 https://github.com/brandonweiss/jquery-placeholder
我在我的网络应用中使用了这种方法,效果很好。最好的部分是它的可重用性。每次需要水印时,只需将占位符标记添加到输入中即可。
<input placeholder="Enter a valid email address" name="email" id="email" />