Необходимо было
видимый текст поместить в отдельный контейнер (например span), и только после этого вешать на него (span) событие.
1)
http://chernev.ru/delaem-prostejshij-spojler.html
2)
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var vr4 = true;
function fn1() {
var vr1 = document.getElementById("id1");
var vr2 = document.getElementById("id2");
var vr3 = "текст который надо скрыть/показать";
if(vr4 == true) {
vr2.innerHTML = vr3;
vr4 = false;
}
else {
vr2.innerHTML = "";
vr4 = true;
}
}
</script>
</head>
<body>
<div><span id="id1" style="cursor: pointer;" onmousedown="fn1()">видимый текст</span>
<div id="id2"></div>
</div>
</body>
</html>