Jos*_*rra 2 html css php jquery
我正在设计的网站有这个小问题。已经结束了,但我认为 jQuery 是这里的问题。
代码如下:
<img src="files/register_page/upload_photo/body.png" id="upload">
<input type="file" name="file_upload" id="file_upload" style="visibility:hidden;">
Run Code Online (Sandbox Code Playgroud)
jQuery 如下,在文档的一部分:
$(document).ready( function(){
$("#upload").click( function(){
$('#file_upload').click();
});
});
Run Code Online (Sandbox Code Playgroud)
但是,单击 img 后,没有任何反应,应该弹出文件上传对话框。请,如果您需要更多信息或其他东西,请告诉我。如果没有,这里可能有什么问题?我正在使用 jQuery 1.8.0。
使用 HTML5标签元素:
<label for="file_upload"><img src="files/register_page/upload_photo/body.png" id="upload"></label>
<input type="file" name="file_upload" id="file_upload" style="visibility:hidden;">
Run Code Online (Sandbox Code Playgroud)
适用于 Chrome、IE 和 Opera,但不适用于 FF。
浏览器往往会限制您可以使用input type="file". label 元素将焦点重定向到 id 属性等于其for属性的输入,因此这是触发不可见元素的解决方法。
不过,现代浏览器在很大程度上减轻了这些限制,因此您可以.click()毫无问题地触发。
但是,您可以更改 CSS hack 以隐藏它而不使用旧浏览器display:none或visibility:hidden与旧浏览器向后兼容。任何一个
position:absolute; top:-100px;
Run Code Online (Sandbox Code Playgroud)
或者
opacity:0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
width:0; height:0;
Run Code Online (Sandbox Code Playgroud)
可以在不使用display或visibilityCSS 属性的情况下隐藏元素。
此外,这是 FF 上标签元素的解决方法,您可以更改visibility:hiddenbyopacity:0和:
$('#file_upload').focus(function() {
$(this).click();
});
Run Code Online (Sandbox Code Playgroud)
小提琴。但如果主脚本工作正常,这应该是不必要的。
| 归档时间: |
|
| 查看次数: |
1544 次 |
| 最近记录: |