gpt4 book ai didi

javascript - 为什么点击div后形成循环?

转载 作者:搜寻专家 更新时间:2023-11-01 05:01:33 24 4
gpt4 key购买 nike

我已经设置了文件输入的样式:

<div class="fakeFileContainer">
<div class="fakeFile">Dołącz brief</div>
<input id="file" type="file" name="file"/>
</div>

对于这部分代码,我有一些 js 行:

var fileInput = $('#contact #file')

fileInput.change(function(){
$this = $(this);
$('#contact form .fakeFile').text($this.val());
})

$('#contact form .fakeFileContainer').on('click', function () {
fileInput.click(); //looping here
}).show();

点击 .fakeFileContainer 后,我在控制台中收到此错误消息:

Uncaught RangeError: Maximum call stack size exceeded

是loop引起的,但是不知道为什么这里会形成这个loop。谁能给我解释一下这种情况的原因?



附言请原谅任何拼写或语法错误,英语不是我的母语

最佳答案

您对 fileInput 的点击也由该函数处理(因为 even 冒泡到容器)。所以代码说:“点击时,触发另一个点击事件”。第二次单击事件导致再次询问相同的问题,答案再次是触发另一个单击事件。因此,一个无限循环。

关于javascript - 为什么点击div后形成循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com