Javascript 如何解决未捕获的类型错误:videopath.addEventListener不是函数?
我在单击按钮时调用一个函数,但面临未捕获的问题 TypeError:videopath.addEventListener不是函数 我的HTML文件 我想在我的案例中发送确切的文件路径,即视频路径Javascript 如何解决未捕获的类型错误:videopath.addEventListener不是函数?,javascript,dom-events,Javascript,Dom Events,我在单击按钮时调用一个函数,但面临未捕获的问题 TypeError:videopath.addEventListener不是函数 我的HTML文件 我想在我的案例中发送确切的文件路径,即视频路径 <div class="input-btn-container"> <input class="input-box" id="videopath" type="file" /> <div
<div class="input-btn-container">
<input class="input-box" id="videopath" type="file" />
<div id="result"></div>
<div class="btn-wrapper">
<button class="renderbtn" onclick="runRender()">start</button>
</div>
</div>
试试这个
函数runRender(){
让客户端=“一些函数”;
让videopath=document.getElementById('videopath');
让result=document.querySelector(“#result”);
//这里我得到了一个错误。
videopath.addEventListener('input',()=>{
client.invoke(“counter”,videopath.value,(error,res)=>{
如果(错误){
控制台错误(error);
}否则{
result.textContent=res;
}
});
});
videopath.dispatchEvent(新事件(“输入”);
}
开始
只需在runRender()中进行修改,修改内容如下
function runRender(){
let client = "some functions";
let videopath = document.getElementById('videopath');
let vedioPathValue = vediopath.files[0].path;
let result = document.querySelector('#result');
// here I am getting error.
videopath.addEventListener('input', () => {
client.invoke("counter", vedioPathValue , (error, res) => {
if(error) {
console.error(error);
} else {
result.textContent = res;
}
});
});
videopath.dispatchEvent(new Event('input'));
}
这对我来说很好。您试图将事件添加到非dom元素,因此出现此错误,请尝试以下操作
function runRender(){
let client = "some functions";
let videopath = document.getElementById('videopath').files[0].path;
let videopathElment = document.getElementById('videopath');
let result = document.querySelector('#result');
// here I am getting error.
videopathElment.addEventListener('input', () => {
client.invoke("counter", videopath, (error, res) => {
if(error) {
console.error(error);
} else {
result.textContent = res;
}
});
});
videopathElment.dispatchEvent(new Event('input'));
}
function runRender(){
let client = "some functions";
let videopath = document.getElementById('videopath').files[0].path;
let videopathElment = document.getElementById('videopath');
let result = document.querySelector('#result');
// here I am getting error.
videopathElment.addEventListener('input', () => {
client.invoke("counter", videopath, (error, res) => {
if(error) {
console.error(error);
} else {
result.textContent = res;
}
});
});
videopathElment.dispatchEvent(new Event('input'));
}