我正在尝试使用Valum的文件上传脚本(http://valums.com/ajax-upload/)来允许创建允许上传文件的链接。
我正在使用jQuery库。
使用标准文档在页面上获取一个链接很简单,但现在我希望能够捕获给定类的所有链接,而不是静态地分配给给定的元素。
此外,我的网站使用Ajax页面加载,因此我需要能够以某种方式将上传器分配给新的Ajax加载内容。
设想的用法是允许在加载Ajax的页面中创建这样的链接并让它触发上传器:
<a href="#" class="uploader">Upload a file</a>
我的第一个想法是使用jQuery live()方法来尝试绑定类,但我找不到合适的事件来触发。
有没有人遇到过这类问题?
答案 0 :(得分:0)
不,遗憾的是<input type="file">
并不容易。由于一些安全问题,IE(甚至是IE9!)只是不允许你用这个元素“摆弄”来对表单进行总结 - 当“点击”,“更改”或任何其他事件被人为引发时。
所以这个插件的工作方式不同。不是创建一个事件处理程序,将用户点击“重新路由”到动态创建的某个fileinput元素,而是围绕作为其目标的链接创建包装器结构 - 并且fileinput直接插入其中,被隐藏到足以让用户看不到它 - 但足以让浏览器在其上注册点击(在源代码中查看this method,并在this article查看详细信息)。
最重要的是,你不能在这里使用事件处理委托:唯一合理的方法是用这个插件包装新创建的元素。