3 回答
![?](http://img1.sycdn.imooc.com/545862120001766302200220-100-100.jpg)
TA贡献1802条经验 获得超6个赞
它不起作用,因为听起来您正在动态添加 HTML,然后尝试将事件处理程序附加到它。在这种情况下,您需要使用事件委托,它只是将事件处理程序附加到祖先。
这应该是您需要更改的全部内容:
$(document).on('change', '#uploadFilesc', function() {
// var to_user_id = $(this).attr('id');
// var chat_message = '#chat_message_'+to_user_id;
$('#uploadImagesc').ajaxSubmit({
target: chat_message,
resetForm: true
});
});
替换document最接近的静态祖先#uploadFilesc和#uploadImagesc。
![?](http://img1.sycdn.imooc.com/5333a1660001394602000200-100-100.jpg)
TA贡献1862条经验 获得超6个赞
我用代码修复了它,将图像返回到下面的聊天窗口
$('#user_model_details').on('change', '#uploadImagesc', function() {
$('#uploadImagesc').ajaxSubmit({
target: '#'+ $('#mess_id').attr("value"),
resetForm: true
});
});
![?](http://img1.sycdn.imooc.com/54584e120001811202200220-100-100.jpg)
TA贡献1829条经验 获得超7个赞
这是因为您将事件绑定到加载后动态添加到页面的元素。在您的场景中,您需要将您的侦听器绑定到页面加载时存在的内容,一个很好的使用元素window
如下:
$(window).on('change', '#uploadImagesc', function() {});
然后你的听众应该工作
添加回答
举报