以下代码中为何timeout设置1000可以正确弹出文件选择框,而2000或者更长的时间就没反应,求解??我将timeout换成一个ajax请求后的响应处理也是没反应。<body>
<div>
<input type="file" name="file" id="file1" style="display: none;" />
<input type="button" value="btn1" id="btn1" />
<input type="button" value="btn2" id="btn2" />
</div>
<script src="js/jquery.min.js" type="text/javascript"></script> <script type="text/javascript">
function dobtn1() {
$("#btn2").click();
} function dobtn2(callback) {
setTimeout(function() {
callback.call();
}, 2000); //1000可以
} $("#btn2").on('click', function() { dobtn2(function() {
$("#file1").click();
});
}); $("#btn1").on('click', function() {
dobtn1();
});
</script>
</body>
解决方案 »
- 如何判断是否已经选择了文件?
- jquery ui 组件 dialog()方法弹出框消失问题
- document.write型网页转换
- 求助,JS调用外部CSS脚本,会的人1分钟就能解决
- jquery的validate 里面怎么进行两个input必须有一个有值的验证?
- 单选按钮地提交判断?
- 判断日期输入是否合法的正则,要匹配:2004-8-1,2004-08-01,2004-8-12,2004-11-1(2004-22-42为不合法!)急用!!!
- 请问:如何指定form的target,我需要指向重重frame框架的最顶级窗口
- 如果让浏览器窗体自动适应图片的高度和宽度
- 小问题,但我却不会~~~~~~:(
- 求助,如何用循环将jsp的二维数组赋给js的二维数组
- 如何在React脚手架里面引入样式框架
js模拟点击无效!!!这是web安全原则问题!!
我用的比较新版的Chrome,所以用JS模拟鼠标点击是可行的
只是我在触发模拟点击之前,等待了一段时间(大于1秒),等待过后的触发没反应。回复二楼@__紫菜:
模拟点击是可以,我主要的问题是接收到用户点击之后,为什么不能等一会儿模拟触发input:file的点击事件。回复三楼@天际的海浪:
我替换的ajax请求就是async的,但是没有作用,最终的实现效果就是需要经过一次请求验证后再弹出文件选择框。
setTimeout(callback, 2000); //1000可以
}