1.当我不输入内容时onblur有效但是,当我在textarea里输入过内容后再删除完里面的内容,onblur事件里写的就不执行
2. 你好,请按下Ctrl+回车发送
<script>
var oTextarea = document.querySelector('#msg_input');
oTextarea.onfocus = function () {
if (oTextarea.innerHTML === '你好,请按下Ctrl+回车发送') {
oTextarea.innerHTML = '';
}
}
oTextarea.onblur = function () {
if (oTextarea.innerHTML === '') {
oTextarea.innerHTML = '你好,请按下Ctrl+回车发送';
}
}
</script>
1、直接使用placeholder属性就实现了你要的效果,没有必要用JS
2、如果非要用js,那么取textarea里面的内容请用“value”而非“innerHTML”
var oTextarea = document.querySelector('#msg_input');
oTextarea.onfocus = function () {
console.log("onfocus");
if (oTextarea.innerHTML === '你好,请按下Ctrl+回车发送') {
oTextarea.innerHTML = '';
}else{
console.log('on focus else ');
}
}
oTextarea.onblur = function () {
console.log("onblur");
if (oTextarea.innerHTML === '') {
oTextarea.innerHTML = '你好,请按下Ctrl+回车发送';
}else{
console.log('on blur else ');
}
}
加上日志信息,聚焦和离开都是打印了的呀。楼主再测测。