如果你那文本框是 <input id="inputbox" type="text" />
var modified = falsedocument.getElementById("inputbox").onfocus = function() {
if(!modified)
document.getElementById("inputbox").value = ""
}
document.getElementById("inputbox").onblur = function() {
if(!modified)
document.getElementById("inputbox").value = "默认文字"
}
document.getElementById("inputbox").onkeydown = function() {
modified = true
}
//假如有个大文本域的ID叫txt1/*
* jquery版
*/
$('#txt1').focus(function(){
$(this).val('获得焦点')
}).blur(function(){
//清空文字
$(this).val('')
})
/*
* javascript版,代码中绑定
*/
var txtareaObj = document.getElementById('txt1')
txtareaObj.onfocus = function(){
this.value = "获得焦点"
}
txtareaObj.onblur = function(){
this.value = ""
}
/*
* javascript 事件监听版 ,这个需要判断浏览器兼容性
*/
var txtareaObj = document.getElementById('txt1')
//获得焦点函数
var foucusHandler = function(){
txtareaObj.val('获得焦点')
}
var blurHandler = function(){
txtareaObj.val('')
}
try{
// Chrome、FireFox、Opera、Safari、IE9.0及其以上版本
txtareaObj.addEventListener('focus',foucusHandler,false)
txtareaObj.addEventListener('blur',blurHandler,false)
}catch(e){
// IE8.0及其以下版本
txtareaObj.attachEvent('onfocus',handle)
txtareaObj.attachEvent('blur',handle)
}
其实在失去焦点事件(blur)中,我们可以通过this传入的方式,将本元素传入到处理函数中。
下面我给你介绍下实现方式,具体的实现结构请调整为最合适自己项目的形式
<input id="input1" type="text" onblur="inputOnblur(this)"><input id="input2" type="text" onblur="inputOnblur(this)"> function inputOnblur(input) {
if (input.id == "input1")
// do something
else if (input.id == "input2")
// do otherthing
}
此外,如果你的结构不方便在HTML中设置onblur,想通过事件注册的方式,可以在函数内部使用event.target来访问到具体的触发事件元素