上传功能,我们一般是另外做一个按钮将click函数绑定到上面去。
最近给客户做头像上传的功能,在安卓机上试验没问题,但是使用ios的话,会出现上传按钮点击不了。
查了一些资料应该是一些比较高级的浏览器对display为none的节点的一些限制。
下面是我的解决办法
使用dispatchEvent事件分发,来代替直接对file的click函数调用。
$(document).on('click','#erer',function () {
var event = new MouseEvent('click');
var x = document.getElementById('edit-info-pop');
x.querySelector("#file").dispatchEvent(event);
});
如上,首先使用事件创建的对象创建一个click事件。然后将它添加到file节点上。表示erer这个节点被点击的时候。这样一个事件就会被调用。
同时附上一个javascript事件种类的参考网站。
http://javascript.ruanyifeng.com/dom/event-type.html#toc0