Javascript onfocus事件处理程序只允许我执行一个函数
我是Javascript的新手,所以如果答案很明显,我现在就道歉。我的问题是,在关注给定的textarea时,我既要清除其内容,又要将单独div的显示值从“none”更改为“block”。单独做这些事情不是问题 明确内容: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
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标记内:更新您的状态或更新您的状态。两者都可以正常工作。问题是同时使用它们。