使用诱饵会破坏我在IE上的上传.为什么
Using a decoy breaks my upload on IE. Why?
我正在使用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会发生这种情况,为了了解情况,我将保留这个问题。
一个解决方案是使触发器元素不可见,但不隐藏,例如给它与它后面的元素相同的背景颜色。然后你可以把它放在"诱饵"的顶部,这样看起来你是在点击诱饵,而实际上你是在点击文件输入
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 为什么我得到错误IE修剪方法是't支持
- 为什么Telerik cdn在IE中不起作用
- 为什么我的上下文选择器和.buttonset()在ie中花费了这么长时间
- 为什么这个按钮在IE中有效,但在Firefox中无效
- 对于Ajax调用,为什么innerHTML没有显示在IE中
- 为什么这个书签脚本是't在IE工作
- 为什么我的网站在IE中是空白屏幕?(包括IE9!
- 为什么我的脚本应该只在 IE 上触发时在 Mozilla 上触发
- 为什么IE浏览器不喜欢我的点击事件
- 为什么IE JavaScript断点在Visual Studio 2013中停止工作
- 为什么这会在IE 11中引发异常
- 为什么对img标记的前向引用在Chrome上失败,但在FireFox和IE上有效
- IE与我的javascript后台更改代码配合得更好.为什么?
- 为什么setTimeout在Chrome中触发两次,而在IE或Firefox中却没有
- 为什么在IE和Chrome中提交表单不起作用
- 为什么在Firefox中后台不会改变,但在IE中会改变
- 为什么这个表达式在 Firefox/Chrome 中返回 true,而在 IE 中返回 false
- 为什么IE不支持在现有应用程序中使用的iFrame js和css文件
- Javascript适用于Firefox而不是IE.为什么