Javascript OffClick()函数
所以我有一个联系人表单,我想在每个输入中输入文本,当用户点击它时,文本消失,这样他们可以添加内容-当用户点击其他内容时,文本重新出现。我用标签和负边距以及相对位置完成了这项工作。我计划在每个输入中添加一个onclick函数Javascript OffClick()函数,javascript,jquery,dom,label,Javascript,Jquery,Dom,Label,所以我有一个联系人表单,我想在每个输入中输入文本,当用户点击它时,文本消失,这样他们可以添加内容-当用户点击其他内容时,文本重新出现。我用标签和负边距以及相对位置完成了这项工作。我计划在每个输入中添加一个onclick函数 我的问题是-是否有类似Offclick()的函数?或者类似于mouseOver()和MouseOut()的东西?文本输入有onblur,选择框有onchange事件可以连接到 <input type="text" id="UserName" name="UserName
我的问题是-是否有类似Offclick()的函数?或者类似于mouseOver()和MouseOut()的东西?文本输入有
onblur
,选择框有onchange
事件可以连接到
<input type="text" id="UserName" name="UserName" value="Placeholder ..." />
<script type="text/javascript">
var el = document.getElementById("UserName");
var original_text = el.value;
el.onblur = function() {
// `this` is set to the input element by the browser
if ( ! this.value ) {
this.value = original_text;
}
};
</script>
将标题属性设置为文本框的值,然后写入:
$("input[type=text]").bind("focus",function(){
var $this = $(this);
if($this.attr("title") ==$this.val()){
$this.val('');
}).bind("blur",function(){
var $this = $(this);
if($this.val() ==''){
$this.val($this.attr("title"));
});
或者您可以使用现成的解决方案,如:
所以我可以用onblur()函数来添加文本,而不是标签和边距,嗯?@Howdy_McGee-绝对可以。如果您愿意,您可以使用HTML5
占位符
属性来获得效果,而不需要在支持的浏览器中使用任何JavaScript。有了HTML5,我就解决了IE8的问题:(-有一天,我将能够有效地使用HTML5,这可能是
$("input[type=text]").bind("focus",function(){
var $this = $(this);
if($this.attr("title") ==$this.val()){
$this.val('');
}).bind("blur",function(){
var $this = $(this);
if($this.val() ==''){
$this.val($this.attr("title"));
});