Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 为什么我的输入元素(div子元素)不可点击,而当我用按钮替换此输入时,按钮是可点击的_Javascript_Html - Fatal编程技术网

Javascript 为什么我的输入元素(div子元素)不可点击,而当我用按钮替换此输入时,按钮是可点击的

Javascript 为什么我的输入元素(div子元素)不可点击,而当我用按钮替换此输入时,按钮是可点击的,javascript,html,Javascript,Html,我想创建一个包含按钮和输入元素的div元素。 但是当输入在div中时,输入变得不可访问 var video_button=document.createElement(“按钮”); var user_area=document.createElement(“DIV”); var inp=document.createElement(“输入”); 功能上传视频(e){ console.log(“上传视频功能”); var v=document.createElement(“视频”); inp.o

我想创建一个包含按钮和输入元素的div元素。 但是当输入在div中时,输入变得不可访问

var video_button=document.createElement(“按钮”);
var user_area=document.createElement(“DIV”);
var inp=document.createElement(“输入”);
功能上传视频(e){
console.log(“上传视频功能”);
var v=document.createElement(“视频”);
inp.onchange=函数(e){
v、 src=window.URL.createObjectURL(inp.files[0]);
v、 style.heigth=“1000px”;
v、 style.width=“1000px”;
用户_区追加子项(v);
}
}
功能输入(e){
console.log(“输入函数”);
setAttribute(“类型”、“文件”);
用户_区追加子项(inp);
inp.addEventListener(“单击”,上载视频)
}
window.onload=函数(){
video_button.innerHTML=“上传视频”;
视频按钮。添加视频列表(“单击”,输入);
user_area.setAttribute(“contentEditable”、“true”);
user_area.style.width=“100px”;
用户_area.style.height=“500px”;
document.body.appendChild(用户区);
用户\区域。追加子项(视频\按钮);

}
这在firefox上不起作用,因为content editable属性设置为true。它的背后有一个秘密。 如果你不太需要它,你可以移除它

var video_button=document.createElement(“按钮”);
var user_area=document.createElement(“DIV”);
var input_wrapper=document.createElement(“DIV”);
var inp=document.createElement(“输入”);
功能上传视频(e){
console.log(“上传视频功能”);
var v=document.createElement(“视频”);
inp.onchange=函数(e){
v、 src=window.URL.createObjectURL(inp.files[0]);
v、 style.heigth=“1000px”;
v、 style.width=“1000px”;
用户_区追加子项(v);
}
}
功能输入(e){
console.log(“输入函数”);
setAttribute(“类型”、“文件”);
输入_wrapper.setAttribute(“contentEditable”、“false”);
用户\区域.appendChild(输入\包装器);
输入_wrapper.appendChild(inp);
inp.addEventListener(“单击”,上载视频)
}
window.onload=函数(){
video_button.innerHTML=“上传视频”;
视频按钮。添加视频列表(“单击”,输入);
user_area.setAttribute(“contentEditable”、“true”);
user_area.style.width=“100px”;
用户_area.style.height=“500px”;
document.body.appendChild(用户区);
用户\区域。追加子项(视频\按钮);

}
我觉得没问题。单击输入文件类型(选择文件)时,我可以看到文件上载窗口管理器打开。你说的是哪个按钮?它在chrome中有效,而不是在firefox中。我不知道为什么。我建议对你的帖子进行编辑,如果可能的话接受。我需要内容可编辑,因为我希望我的div看起来像一个文本区域,允许用户编写文本和上传文件。我正在做一个新闻网站。你把你的输入元素包装在一个容器div中,容器div的content editable属性设置为false,但是原始的user\u区域(设置为content editable true)保持不变?检查更新的答案是的,它是有效的,但你能向我解释一下为什么contentEditable是一个问题吗?我也尝试了尽可能多的收集,这应该是chrome的方式,基本上contentEditable让用户可以编辑元素。因此,如果用户想要删除您创建的按钮,他/她可以这样做。但该功能应该像chrome一样工作。你仍然可以仔细阅读我答案第二句的“原因”链接,也可以看看或尝试谷歌搜索:)