我正在尝试使用 jQuery 处理点击事件
上传成功后,我正在使用 jQuery 创建以下内容:
$("#uploadedImage").append( "<div class='img-wrap'>
<span class='deletePhoto'>×</span>
<img data-id='"+files[i]+"' src='"+asset_url+"uploads/ad_photo/"+files[i]+"'>
</div>
<span class='gap'></span>");
为了处理上面创建的 div 的点击事件,我写了这个:
$('.img-wrap .deletePhoto').click(function() {
var id = $(this).closest('.img-wrap').find('img').data('id');
alert(id);
});
上面的代码工作正常并创建了所有的 div,但是当我点击 deletePhoto span 时。没有显示 jQuery 警报。
任何帮助或建议都会有很大的帮助。
提前致谢
最佳答案
委托(delegate)事件并按照建议进行更改:
$("#uploadedImage").on('click', '.deletePhoto', function() {
您必须将您的事件委托(delegate)给最近的静态父 #uploadedImage
在您的情况下,它在页面加载时可用,例如包含新附加的 div 的容器和图像。
尽管 $(document) 和 $(document.body)
始终可用于委托(delegate)事件。
关于javascript - 点击事件不工作 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22810075/