点击占位符消失后,在模糊处重新出现,但如果双击而不是1点击占位符就会永远消失,关闭双击默认也不会有帮助。以某种方式可以将双击视为正常点击吗?或者它应该摧毁安置者?
var input = document.getElementsByTagName("input")[0];
input.onclick = function() {
p_holder = this.placeholder;
this.placeholder = "";
}
input.onblur = function() {
this.placeholder = p_holder;
}
input.ondblclick = function(e) {
e.preventDefault();
}

<input type="text" placeholder="text goes here">
&#13;
答案 0 :(得分:3)
我认为这可能就是你要找的东西。
评论在源代码中。
var input = document.getElementsByTagName("input")[0];
// Store original placeholder
var p_holder = input.placeholder;
// Remove on focus
input.onfocus = function() {
this.placeholder = "";
}
// Restore on blur
input.onblur = function() {
this.placeholder = p_holder;
}
<input type="text" placeholder="text goes here" />
如果您有任何疑问,请在下面发表评论,我会尽快回复您。
我希望这会有所帮助。快乐的编码!
答案 1 :(得分:0)
这不是双击,而是两次单击导致此问题,因为在第二次点击时,p_holder
的值将设置为''
。
为防止这种情况,您可以先检查值:
input.onclick = function (){
if (this.placeholder !== '') {
p_holder = this.placeholder;
this.placeholder = "";
}
}
顺便说一句,如果你只需要处理占位符,你实际上不需要操纵它。当某些值插入输入时,浏览器会自动删除它,并在删除值时恢复它。