Javascript onfocus事件处理程序只允许我执行一个函数

Javascript onfocus事件处理程序只允许我执行一个函数,javascript,function,getelementbyid,onfocus,Javascript,Function,Getelementbyid,Onfocus,我是Javascript的新手,所以如果答案很明显,我现在就道歉。我的问题是,在关注给定的textarea时,我既要清除其内容,又要将单独div的显示值从“none”更改为“block”。单独做这些事情不是问题 明确内容: onfocus="if (this.value == 'Update your status') {this.value = '';}" 以及更改单独div的显示属性: onfocus="displayControls();" <script type="text/j

我是Javascript的新手,所以如果答案很明显,我现在就道歉。我的问题是,在关注给定的textarea时,我既要清除其内容,又要将单独div的显示值从“none”更改为“block”。单独做这些事情不是问题

明确内容:

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>
onfocus=“displayControls();”
函数displayControls(){
if(document.getElementById('StatusUpdaterControl')。style.display==“无”){
document.getElementById('StatusUpdaterControl').style.display=“block”;
}; 
}; 
当我尝试将两者结合起来时,无论是在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>

函数displayControls(){
if(document.getElementById('statusUpdater')。value=='Update your status'){
document.getElementById('statusUpdater')。值=“”;
}; 
if(document.getElementById('StatusUpdaterControl')。style.display==“无”){
document.getElementById('StatusUpdaterControl').style.display=“block”;
}; 
}; 
突然,两种解决方案都不起作用了。。。任何帮助都将不胜感激

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

onfocus接受函数,而不是字符串,因此:

something.onfocus = displayControls;

使用jQuery,再次享受生活。@BNL您不需要推土机来打开前门。您不需要在if语句后使用分号。如果您将清除内容放入
Function clearCode(){if(document.getElementById('statusUpdater')。value='Update your status'){document.getElementById('statusUpdater')。value=''';}
然后是
onfocus=“clearContent()
,它能工作吗?你声称你的
处理函数
在单独调用时能正常工作。那么为什么不先用
addEventListener(“onfocus”,…)添加它们呢
?抱歉,可能我不清楚。我使用的onfocus标记位于textarea标记内:更新您的状态或更新您的状态。两者都可以正常工作。问题是同时使用它们。