问题描述
想做成点击头像,上传图片,选中图片,上传成功,用户头像更改程刚才上传的图片这样的效果。(现在已经实现)
但是很多前端不建议多次使用trigger()函数,不是很明白其中的原因,特此发问。
trigger()函数,多次使用是否会对程序造成不良影响?如程序运行速度降低等..
问题出现的环境背景及自己尝试过哪些方法
emm,如果有哪位大神有相关的代码也可以发上来。
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
// 这是HTML上传图片
<form action="{:url('index/User/userImg')}" enctype="multipart/form-data" method="post" style="display:none;">
<input type="file" name="image" /> <br>
<input type="submit" name="upImg" value="上传" />
</form>
// 上传图片
$('.userImg').click(function(){
$("input[name='image']").trigger('click');
$("input[name='image']").change(function () {
var img = $(this).val();
if (img != '') {
$("input[name='upImg']").trigger('click');
}
})
})
你期待的结果是什么?实际看到的错误信息又是什么?
在我这个项目中,trigger()是否是必须要用的,如果不是,请问该如何修改代码?或者提出宝贵建议。(请不要说用插件就好,还是希望多锻炼下动手能力。谢谢。)
性能可能会有影响,因为本来是需要直接执行点击事件对应的方法就可以了,你现在是直接触发点击事件,然后间接的执行对应的方法。不过在我看来影响可能比较小。性能可能直观上看不出来。最好的方法是调用事件对应的方法。而你这个程序没有,那就调用form的submit方法