在我的HTML中:
<input type="image" src="http://placehold.it/145x145" data-bind="click: imgClick"/>
<input type="file" id="artImage" style="display: none;" />
在我的viewmodel中:
var imgClick = function () {
$("artImage").click();
};
如果我在&#39; $(&#34; artImage&#34;)上放置调试断点,请点击()&#39;线,它被击中。我在控制台中没有出错,但屏幕上没有任何错误。
似乎在小提琴中正常工作? http://jsfiddle.net/nVrSP/所以我不确定为什么它不在我的网页上工作。
(如果有人要求,我试图点击图片来触发文件上传浏览)
答案 0 :(得分:2)
您的选择器很可能没有返回任何内容,因为您没有给它#说“这是ID。”
试
$("#artImage").trigger('click');
请参阅此链接以获取有效选择器的列表: https://cdn.tutsplus.com/net/uploads/legacy/154_cheatsheet/jquery12_colorcharge.png
答案 1 :(得分:0)
Dude,这是绝大多数浏览器的安全措施,什么都不做 on&#34; click&#34;如果html文件输入控件是隐藏。
解决方法是使用不透明度隐藏文件输入控件,不要使用visibility或display = none隐藏它。
有关详细信息,请参阅此主题:
In JavaScript can I make a "click" event fire programmatically for a file input element?