我正在尝试添加jQuery以使用我的网站,这是我第一次进入jQuery。出于某种原因,我无法让它工作,我不确定为什么。调试输出中没有错误。这是我正在使用的确切代码:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js"></script>
<script>
$(document).ready(function(){
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#Preview1').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#Image1").change(function(){
readURL(this);
alert("triggered");
});
});
</script>
</head>
<body>
<form>
<input type="file" id="#Image1">
<img src="#" id="Preview1">
</form>
</html>
它适用于jsfidle,但是当我在chrome或firefox中尝试它时。到目前为止我看到的所有答案都很简单,把它放在document.ready函数中,或者你丢失了分号或错误输入了URL。如果我有这个,我只是没有发现它。它也不适用于谷歌最新版本的jQuery。
答案 0 :(得分:10)
从#
id
属性中删除input
更改
<input type="file" id="#Image1">
要
<input type="file" id="Image1">
使用\\
转义#
$("#\\#Image1").change(function () {
alert("triggered");
});
来自Docs
使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为文字作为名称的一部分,必须使用两个反斜杠进行转义:\\。