我的C#Web应用程序具有以下代码:
<div id="divDocument" class="cursor-pointer">
<i class="icon-document font-size-3em mt10 fileupload-border"></i>
<asp:FileUpload ID="fileUploadDocument" runat="server" CssClass="d-none" />
</div>
$(document).ready(function () {
$("#divDocument").click(function () {
$("#<%= fileUploadDocument.ClientID %>").trigger('click');
});
});
但是我在javascript控制台上收到以下错误:
InternalError:太多的递归
有人能帮我吗?
亲切的问候
该错误是因为您在当前元素的子元素上引发了click事件,该子元素已处理了click事件,从而创建了无限循环。
要解决此问题,您需要删除internal trigger('click')
,或stopPropagation()
在该inner元素上添加调用。
但是,值得注意的是,如果您的目标是增加文件输入的匹配区域,那么更好的方法是将label
元素包装在周围input
。这样可以避免您的问题,并且不需要任何JS代码。
<label>
<i class="icon-document font-size-3em mt10 fileupload-border"></i>
<asp:FileUpload ID="fileUploadDocument" runat="server" CssClass="d-none" />
</label>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句