【发布时间】:2011-12-10 05:00:00
【问题描述】:
我正在使用Valums AJAX Uploader,它工作得很好,即使在 IE 中也是如此。
当我尝试使用诱饵隐藏 Valums 标记时出现问题。
$('.control.addphoto:not(.controlactive)').live('click', function(){
$('#upload input[type=file]').click();
});
所以,真正的输入是隐藏的,但单击我的控件会激活它。 “选择文件”对话框在 IE 中显示得很好,但是一旦我单击确定,文件上传就会失败(它甚至没有到达服务器)。当我不使用诱饵时(即当我直接点击输入时)它工作得很好。
在 Chrome 和 Firefox 中一切正常。
为什么会这样?我无法理解,因为它只是一个诱饵,它正在调用实际输入。有什么线索吗?有什么办法可以让诱饵更“透明”?
obs: 刚刚发现诱饵在 Opera 上不起作用(不会打开对话框)。同样,直接单击输入也可以正常工作。由于我使用的是 jquery(应该是跨浏览器),这不应该有效吗?
编辑
Opera 本质上实际上不允许通过诱饵触发输入行为。
使用 Kevin B 的替代方案,我已经能够解决我的问题。另一方面,我仍然不知道为什么 IE 会发生这种情况,为了知识,我会保持这个问题的开放。
【问题讨论】:
标签: javascript jquery html ajax upload