jQuery - 单击文件输入的父项并触发文件输入的单击事件后 returns 'too much recursion'
jQuery - After clicking parent of file input and triggering click event to file input it returns 'too much recursion'
我的 jQuery 中有这个:
$(document).on('click', '.upload-wrap', function(event)
{
$('[name="uploads[]"]').trigger('click');
});
但是它returns'too much recursion'错误!但是它不适用于我的其他元素,例如:
$(document).on('click', '.upload-image-wrap', function(event)
{
$(this).next('[name="image"]').trigger('click');
});
我已经使用 setTimeout 来解决这个问题:
$(document).on('click', '.upload-wrap', function(event)
{
setTimeout(function() {
$('[name="uploads[]"]').trigger('click');
}, 0);
});
但现在 firefox 在页面顶部显示 'Firefox prevented this site from opening 99999999 pop-up windows' 其中 99999999 以毫秒为单位递增。
我该如何解决?
谢谢
如果 .upload-image-wrap
具有 '[name="uploads[]"]'
属性,您可以使用 not()
将 '[name="uploads[]"]'
排除在触发委托事件之外:
$(document).on('click', '.upload-wrap:not([name="uploads[]"])', () => {
$('[name="uploads[]"]').trigger('click');
});
另一种选择是检查事件是否由人为触发:
$(document).on('click', '.upload-wrap', (e) => {
if (e.originalEvent !== undefined) $('[name="uploads[]"]').trigger('click');
});
我的 jQuery 中有这个:
$(document).on('click', '.upload-wrap', function(event)
{
$('[name="uploads[]"]').trigger('click');
});
但是它returns'too much recursion'错误!但是它不适用于我的其他元素,例如:
$(document).on('click', '.upload-image-wrap', function(event)
{
$(this).next('[name="image"]').trigger('click');
});
我已经使用 setTimeout 来解决这个问题:
$(document).on('click', '.upload-wrap', function(event)
{
setTimeout(function() {
$('[name="uploads[]"]').trigger('click');
}, 0);
});
但现在 firefox 在页面顶部显示 'Firefox prevented this site from opening 99999999 pop-up windows' 其中 99999999 以毫秒为单位递增。
我该如何解决?
谢谢
如果 .upload-image-wrap
具有 '[name="uploads[]"]'
属性,您可以使用 not()
将 '[name="uploads[]"]'
排除在触发委托事件之外:
$(document).on('click', '.upload-wrap:not([name="uploads[]"])', () => {
$('[name="uploads[]"]').trigger('click');
});
另一种选择是检查事件是否由人为触发:
$(document).on('click', '.upload-wrap', (e) => {
if (e.originalEvent !== undefined) $('[name="uploads[]"]').trigger('click');
});