用户上传图片后,我会在页面上动态添加删除按钮。
$('.galleryImage .delete').bind('click', function() {
//do delete
}
以上不起作用。
据我了解,这是因为删除按钮是在创建后添加到页面中的。
我试过了
$('body').on('click', '.galleryImage .delete', function() {
但这仅适用于 jquery 1.7+,我需要使用 1.6。
有什么想法可以让它发挥作用吗?
用户上传图片后,我会在页面上动态添加删除按钮。
$('.galleryImage .delete').bind('click', function() {
//do delete
}
以上不起作用。
据我了解,这是因为删除按钮是在创建后添加到页面中的。
我试过了
$('body').on('click', '.galleryImage .delete', function() {
但这仅适用于 jquery 1.7+,我需要使用 1.6。
有什么想法可以让它发挥作用吗?
正如您想在 jQuery 1.6 中使用的那样,您可以使用.delegate()事件处理。
$('.galleryImage').delegate('.delete', 'click', function() {
但如果你使用 jquery 1.7 会更好
和.on()事件处理程序
$('.galleryImage').on('click', '.delete',function() {
如果.galleryImage是动态添加的,那么你应该使用一个Static-element是容器的容器.galleryImage,这意味着容器不应该是动态的。
使用delegate():
$('.galleryImage').delegate('.delete', 'click', function() {
//do delete
}
on()如果您使用的是 jQuery 1.7+,或者使用委托选择器:
$('.galleryImage').on('click', '.delete', function() {
//do delete
}
如果.galleryImage元素也是动态添加的,则应使用与最近的非动态元素相关的选择器。
不要使用live()!它缓慢、过时且已弃用。
而不是on使用delegate或live方法