js中onfocus、onblur事件

1、给文本框添加触发事件onfocus和onblur,调用函数处理。完整代码:
<script>
function cls(){
//捕获触发事件的对象,并设置为以下语句的默认对象
with(event.srcElement)
     //如果当前值为默认值,则清空
if(value==defaultValue) value=""
}
function res(){
//捕获触发事件的对象,并设置为以下语句的默认对象
with(event.srcElement)
//如果当前值为空,则重置为默认值
if(value=="") value=defaultValue
}
</script>
<input value="填写您的昵称" οnfοcus="cls()" οnblur="res()">
注意:本例的方法对大部分表单控件都有效,比如多行文本框。
特别提示
运行完整代码,在鼠标第一次单击文本框时该文本框内容将被清空,在文本框外单击时文本框内容将还原回默认值。如果改变了文本框的值,将不再有任何变化

特别说明
本例主要是对象的defaultValue属性和onfocus、onblur事件的应用。
defaultValue 设置或获取对象的初始内容。
onblur 在对象失去输入焦点时触发。
onfocus 当对象获得焦点时触发。

2、用于清除输入框中提示信息的方法

<html>
<head>
<title>对KKKKK的评论</title>
<script type="text/javascript" language="javascript">
var gFlag=true;//全局变量,用于判断是否允许清除文本框内容
//用于清除输入框中提示信息的方法
function clearTip(){
var oTxt=document.getElementById("textfield");
         if(gFlag==true){
           oTxt.value="";
           gFlag=false;
        }
}
</script>
</head>
<body>
<form>
<label>
<textarea name="textfield" cols="40" rows="5" οnfοcus="clearTip()">请输入对KKKKK的评论......</textarea>
</label>
<p>
    <label>
    <input type="submit" name="Submit" value="提交">
    </label>
</p>
</form>
</body>
</html>

运行上面的示例,可以看到当焦点定位在文本框,提示信息“请输入评论的内容...”将会自动
消失,这里需要注意的是用户可能中途去做其他事情,使得文本框失去焦点,当他重新回来
输入的时候,又获得了焦点,这时会再次触发onfocus事件,调用clearTip方法,把前面输入的
内容清除了,这是我们不希望结果。所以可以设置个全局变量gFlag作为标志位,当清除过一次
文本框的内容之后就改变标志位,不再允许通过clearTip()方法清除文本框的内容。

3.js设置文本框中焦点位置在最后,支持IE

<script language="javascript">
function getSelectPos(obj){
var esrc = document.getElementById(obj);
if(esrc==null){
   esrc=event.srcElement;
}
var rtextRange =esrc.createTextRange();
rtextRange.moveStart('character',esrc.value.length);
rtextRange.collapse(true);
rtextRange.select();
}
</script>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值