Javascript Can';t让load()在img上工作
在我开始之前,我知道这可能是重复的。我已经研究了以下问题的解决方案: 并更改了我的代码。但是我还是不能让子弹开火。我已经尝试将Javascript Can';t让load()在img上工作,javascript,jquery,Javascript,Jquery,在我开始之前,我知道这可能是重复的。我已经研究了以下问题的解决方案: 并更改了我的代码。但是我还是不能让子弹开火。我已经尝试将.load更改为.on('load'…),并且基本上破坏了我的代码,试图让它正常工作。。。我仍然无法启动警报()。。。有什么想法吗 <html> <head> <title>XXX</title> <script src="http://ajax.googleapis.com/ajax/libs/j
.load
更改为.on('load'…)
,并且基本上破坏了我的代码,试图让它正常工作。。。我仍然无法启动警报()。。。有什么想法吗
<html>
<head>
<title>XXX</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<div id="outter">
<div id="selectionBox">
<form id="qqqq" enctype="multipart/form-data" action="/" method="post">
<input id="fileSelect" onchange="readURL(this);" type="file" name="imagePP" accept="image/x-png, image/gif, image/jpeg, image/bmp">
</form>
</div>
</div>
</body>
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
if (!$("#aaa").length)
$("body").append("<img id=\"aaa\">");
$("#aaa").attr('src', e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}
$(document).ready(function() {
$("#aaa").load(function() {
alert("sdffds");
}).each(function() {
if (this.complete) {
$(this).trigger('load');
}
});
});
</script>
</html>
XXX
函数readURL(输入){
if(input.files&&input.files[0]){
var reader=new FileReader();
reader.onload=函数(e){
如果(!$(“#aaa”).长度)
$(“正文”)。附加(“
试试看
将load
事件绑定到#aaa
这样,动态添加的#aaa
元素仍然会将事件绑定到它们
编辑:
请检查这个JSFIDLE,对代码稍作修改即可使其正常工作
我已将.load声明放在readURL中。不确定,但在调用document.ready()时,您的图像标记应绑定到文档函数不会从实际创建img标记的任何位置调用。因为在将图像添加到页面之前,您正在附加事件处理程序。id
s必须是唯一的。看起来您使用了多次。这不是一个确切的问题。但这不是一个好的做法。Rejith我没有看到任何id重复?哪一个?Hi-Epascarello,我认为即使动态添加id为的元素,它仍然会被拾取?很抱歉,在编辑时我错过了这一行。请查看下面的代码-document.body.addEventListener('load',function(event){var elm=event.target;if(elm.id=='my_img')){//或任何其他筛选条件//do some stuff},true//Capture event);已在以下线程中回答-
$(document).on("load", "#aaa", function() {