我正在制作一个程序,允许用户通过使用触摸屏从Feed中选择Instagram照片来打印Instagram照片。
然而,一旦我把它们拉进来,我就很难将图像用作选择器。
我按照以下方式提取图像:
image1
为了输出特定图像,我显然需要能够确定选择了哪个图像,因此我尝试使用图像作为选择器(在此示例中,{{1} })。但是,我似乎无法说服下面的工作:
$(document).ready(function(){
$("#image1").on("click", function(){
window.print();
});
});
当我使用$("div")
作为选择器时它确实有用,但这对确定单击哪个图像显然没什么帮助。
(我还没有完全正确地输出所有内容 - 因此我使用window.print()
的原因
有谁可以指出我哪里出错了?谢谢!
答案 0 :(得分:1)
您正在提取图像并动态添加它们,因此当文档准备就绪时,选择器$('#image1')
不存在。
您可以做的是选择$("div")
并在该div中选择图像。
$(document).ready(function(){
$("#div").on("click","#image1" function(){
window.print();
});
});
答案 1 :(得分:1)
好吧,我不知道你是否真正初始化了标识符'或不,如果没有,那么你可能没有创建" image1"。
的ID也就是说,更简单的方法是将click事件绑定到匹配div的所有图像子项的选择器,然后从事件中获取单击事件:
$(" div> img")。on("点击",功能(e){console.log($(this).attr(' src& #39;));})
这应该记录您与点击的标签相关联的图像的网址。
答案 2 :(得分:1)
似乎问题是你甚至在创建图像之前就绑定了事件。您必须在创建元素之后绑定事件,即在这种情况下,在ajax方法的成功函数中。 喜欢这个
$.ajax({
url: 'https://api.instagram.com/v1/tags/' + hashtag + '/media/recent',
dataType: 'jsonp',
type: 'GET',
data: {access_token: token, count: num_photos},
success: function(data){
console.log(data);
for(x in data.data){
identifier++;
$('div').append('<img id="image' + identifier + '" src="'+data.data[x].images.standard_resolution.url+'"></img>');
}
$("#image1").on("click", function(){
window.print();
});
},
error: function(data){
console.log(data);
}
});