<p contenteditable="true" id="comment" onclick="handleComment()">Leave a comment</p>
function handleComment() {
var e = document.getElementById("comment");
e.innerHTML = "";
e.removeEventListener('click', handleComment, false);
}
问题描述
我这样实现的话,当鼠标聚焦到p标签的时候,确实能将innerHTML清空,但是removeEventListener却无法产生效果。也就是说每次重新聚焦到p标签时候,上次的输入都会清除。
我的目的只是想让第一次聚焦到p标签的时候清空标签内的内容。
大家讲道理2017-04-11 13:24:42
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.con{
width:300px;
height:100px;
border:1px solid gray;
}
.con:empty:before{
content:attr(placeholder);
font-size: 16px;
color: #999;
}
.con:focus:before{
content:none;
}
</style>
</head>
<body>
<p class="con" contenteditable="true" placeholder="Leave a comment"></p>
<script>
</script>
</body>
</html>
迷茫2017-04-11 13:24:42
function handleComment() {
var e = document.getElementById("comment");
e.innerHTML = "";
e.onclick = undefined;
//e.removeEventListener('click', handleComment, false);
}
因为removeEventListener只能remove,用addEventListener加上去的事件,直接定义在属性onclick上的handler是无效的。