Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript text单击区域隐藏按钮_Javascript_Html_Css - Fatal编程技术网

Javascript text单击区域隐藏按钮

Javascript text单击区域隐藏按钮,javascript,html,css,Javascript,Html,Css,我有一个textarea供用户键入内容,它有一个cancel和一个submit按钮作为它的一部分 如何使取消和提交按钮仅在用户在文本区域内单击时出现?(使用javascript,请不要使用jquery) 我已尝试使用此javascript函数: function setButtons(writingtext) { if (writingtext) { document.getElementById('cfm').style.display = 'block';

我有一个
textarea
供用户键入内容,它有一个
cancel
和一个
submit
按钮作为它的一部分

如何使
取消
提交
按钮仅在用户在
文本区域内单击时出现?(使用javascript,请不要使用jquery)

我已尝试使用此javascript函数:

function setButtons(writingtext) {
    if (writingtext) {
        document.getElementById('cfm').style.display = 'block';
        document.getElementById('cancel').style.display = 'block';
    }
    else {
        document.getElementById('cfm').style.display = 'none';
        document.getElementById('cancel').style.display = 'none';
    }
}
当用户单击文本区域时,将显示按钮

我不确定这是否是正确的方法。对不起,这真的很新鲜


任何帮助都将不胜感激

你可以控制你的html,只需
css
点击
:focus
点击下一个兄弟,如下所示:

div{display:none;}
textarea:focus+div{display:block;}

这只是一个简单的示例,用于显示焦点上的按钮。如果您想隐藏它们,我认为您将能够管理该解决方案

如果您只想在文本区域聚焦时显示按钮,请使用仅CSS解决方案。但是,我猜您可能希望保留它们一段时间,或者在提交之前做一些额外的预处理,在这种情况下,您应该使用javascript选项

document.querySelector(“#textarea”).addEventListener(“焦点”,函数(){
document.querySelector(“#submit”).style.display=“block”;
document.querySelector(“#cancel”).style.display=“block”;
});
按钮{
显示:无;
}

提交

取消
您只需为文本区域分配一个id,例如
文本
,然后使用

document.getElementById('text').addEventListener('focus', function(){
  document.getElementById('cfm').style.display = 'block'
document.getElementById('cancel').style.display = 'block'
})

// Hide when blur (when not focused)

document.getElementById('text').addEventListener('blur', function(){
  document.getElementById('cfm').style.display = 'none'

  document.getElementById('cancel').style.display = 'none'
})
你应该使用
onfocus=“setButtons(this)”
而不是
onClick

函数设置按钮(writingtext){
document.getElementById('cfm').style.display='block';
document.getElementById('cancel').style.display='block';

}
请向我们展示您迄今为止的尝试。这是否回答了您的问题?查看
addEventListener
并传递“focus”属性。试试看。如果您遇到困难,请展示您的代码,我们可以提供帮助。