fadeOut()里回调type="file"的默认点击事件没有弹出文件选择框

<html>
<head>
</head>
<body>
    <button class="btn1">Hide</button>
    <p>This is a paragraph.</p>
    <input class="file" type="file"/>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
      $(".btn1").click(function(){
         $("p").fadeOut(function(){
             $(".file").click();
         })
      });
    });
</script>
</body>
</html>
阅读 1.7k
1 个回答

浏览器的安全限制
不能在非用户直接操作的响应中调用input[type=file]的click

对应到你的例子里,fadeOut加了个延时,已经离开了.btn1的click响应,所以不再允许操作

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