无法使用onfocus事件在javascript中隐藏元素

时间:2018-09-05 15:03:15

标签: javascript html

当我尝试使用javascript在文本框上单击时隐藏元素div时,但是不能。我程序的错误是什么。有人建议我做一个好人

<html>
   <head>
   <script>
   function clear()
   {
    alert("hi");
    document.getElementById("mails").style.display="none";
   }
   </script>
   </head>
   <body>
  <input type="text" onfocus="clear();" />
  <div id="mails">hii</div>
  </body>
  </html>

4 个答案:

答案 0 :(得分:1)

如果使用jQuery,则很容易隐藏元素。这样,您所需要做的就是:

$('#mails').hide();

如果您更喜欢使用DOM,则可以尝试以下操作:

<html>
<head>
<script>
   function hideit()
   {
    alert("hi");
    document.getElementById("mails").style.display="none";
   }
</script>
</head>
<body>
  <input type="text" onClick="hideit()" />
  <div id="mails">hii</div>
</body>
</html>

答案 1 :(得分:1)

尽管clear不是关键字,但似乎某些浏览器仍支持document.clear,这可能会在此处停止clear函数。您可以更改函数名称并尝试

    [root@localhost logs]# ps -aux|grep nginx
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      12191  0.0  0.0  28172  8956 ?        S    Aug29   3:54 nginx: worker process                        
root      12192  0.0  0.0  28172  8960 ?        S    Aug29   3:53 nginx: worker process                        
root      12193  0.0  0.0  28436  9272 ?        S    Aug29   3:46 nginx: worker process                        
root      12194  0.0  0.0  28172  8948 ?        S    Aug29   3:55 nginx: worker process                        
root      12195  0.0  0.0  28436  9156 ?        S    Aug29   3:56 nginx: worker process                        
root      12196  0.0  0.0  28172  8944 ?        S    Aug29   3:49 nginx: worker process                        
root      12197  0.0  0.0  28172  8988 ?        S    Aug29   3:58 nginx: worker process                        
root      12198  0.0  0.0  27908  8740 ?        S    Aug29   3:42 nginx: worker process                        
root      12199  0.0  0.0  27908  8744 ?        S    Aug29   3:39 nginx: worker process                        
root      53760  0.0  0.0 103252   832 pts/1    S+   22:14   0:00 grep nginx
root      80835  0.0  0.0  27908  8740 ?        S    Aug31   2:30 nginx: worker process
function myF() {
  
  document.getElementById("mails").style.display = "none";
}

答案 2 :(得分:0)

我来晚了,但是我还是可以同意的。 clear()被本机函数阻止。

<html>
   <head>
   <script>
     function clearFunction()
     {
       console.log("onfocus called");
       document.getElementById("mails").style.display="none";   
     }
   </script>
   </head>
   <body>
    <input type="text" onfocus="clearFunction();" />
    <div id="mails">hii</div>
  </body>
  </html>

答案 3 :(得分:0)

请不要使用其他函数名作为clear()。 clear方法是指过时的document.clear()方法,因此它不会调用您编写的clear方法。 根据{{​​3}},clear()方法不能执行任何操作。