Jquery单击触发器给出错误'超出最大调用堆栈大小'

时间:2014-02-01 01:50:19

标签: jquery

我知道我可能会得到大量的支持,但我不在乎,这样的废话让我疯狂。这就是我得到的:

JQ:

function attFile(){
   $("#theFileInput").trigger('click');
};

HTML:

<a href="#" id="attachfile" onclick="attFile();">
<input type="file" id="theFileInput" style="display:none" />

它不起作用。我检查了整个stackoverflow,我使用了实际工作的人的jsfiddles,他们在这里失败了。例如:

$('#attachfile').click(functcion () {
$("#theFileInput").trigger('click'); // or triggerHandler or click()
});

function attFile(event){
event.preventDefault();
$("#theFileInput").trigger('click');
};

一切都失败了。事件会给我“调用undefined”,而rest会给我 Uncaught RangeError:超出最大调用堆栈大小如果我在第一行用alert("jq please");打破它,具体取决于我使用的代码,一个将永远循环,而其他人将显示警报但不点击该死的文件输入。

1 个答案:

答案 0 :(得分:5)

Html:

<a href="javascript:void(0);" id="attachfile">Click on me </a>
<input type="file" id="theFileInput" style="display:none" />

JS:

$('#attachfile').click(function () {
$("#theFileInput").trigger('click');
});

<强> Sample