0

我是 Javascript 的菜鸟,所以如果答案很明显,我现在道歉。我的问题是,在关注给定的文本区域时,我想清除其内容并将单独 div 的显示值从“无”更改为“块”。分开做这些事情不是问题。

清除内容:

onfocus="if (this.value == 'Update your status') {this.value = '';}"

并更改单独 div 的显示属性:

onfocus="displayControls();"
<script type="text/javascript">
            function displayControls() {
                 if (document.getElementById('statusUpdaterControls').style.display == "none") {
                     document.getElementById('statusUpdaterControls').style.display = "block";
                }; 
            }; 
</script>

然后,当我尝试在 textarea 的 onfocus 事件或上面的 displayControls() 函数中将两者结合起来时,如下所示:

    <script type="text/javascript">
                function displayControls() {
                    if (document.getElementById('statusUpdater').value == 'Update your status') {
                        document.getElementById('statusUpdater').value = '';
                    }; 
                    if (document.getElementById('statusUpdaterControls').style.display == "none") {
                        document.getElementById('statusUpdaterControls').style.display = "block";
                    }; 
                }; 
            </script>

突然两个解决方案都不起作用......任何帮助将不胜感激。

编辑: 我找到了一个解决方案 - 通过将清晰的内容代码放入 onclick 事件并将它们分开,这两个项目都被执行。我仍然希望能深入了解我之前做错了什么,但是因为我一定做了一些愚蠢的事情,我可以为未来改进。提前致谢。

4

1 回答 1

0

接受一个函数,而onfocus不是一个字符串,所以:

something.onfocus = displayControls;
于 2011-09-12T14:06:51.010 回答