trigger()函数多次使用是否会造成代码速度下降,或其他不良效果。

问题描述

想做成点击头像,上传图片,选中图片,上传成功,用户头像更改程刚才上传的图片这样的效果。(现在已经实现)
但是很多前端不建议多次使用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()是否是必须要用的,如果不是,请问该如何修改代码?或者提出宝贵建议。(请不要说用插件就好,还是希望多锻炼下动手能力。谢谢。)

阅读 1.5k
1 个回答

性能可能会有影响,因为本来是需要直接执行点击事件对应的方法就可以了,你现在是直接触发点击事件,然后间接的执行对应的方法。不过在我看来影响可能比较小。性能可能直观上看不出来。最好的方法是调用事件对应的方法。而你这个程序没有,那就调用form的submit方法

$('form').submit()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题