社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

ajax删除先前定义的jquery并重新定义-jquery不处理ajax生成的内容

MikeL • 5 年前 • 1432 次点击  

第一个帖子,请温柔一点。

我正在开发一个社会类型页面,通过ajax prepend加载新的评论。 例如

<div class 'comment-said'> 
COMMENT HERE
<div class 'likes'>
<a class="react" data-id="<?=$comment->id?>" data-class="Like"><span> 
Like</span></a>
</div>
</div>

有一个javascript/jquery函数在页面加载时调用,以激活注释中的“like”按钮图释函数。

<script type='text/javascript'>
$('.react').Reactions({
postUrl: 'addlike.php'
});
</script>

$('.react')调用的“react.js”javascript文件的顶部部分。reactions({:

$.fn.Reactions = function(options) {        
var settings = $.extend( {            
postUrl: false, 
defaultText: "Like"                                 
}, options);        
var emo_value;      
var _data_html = '<div style="position:absolute; z-index: 999;" class="_emobar" data-status="hidden"><div class="_emolist">';       
var emojis  = '<img src="emos/Like.png" class="emo" data-emo-value="Like" style="" />';     
emojis = emojis + '<img src="emos/Love.png" class="emo" data-emo-value="Love" style="" />';     
emojis = emojis + '<img src="emos/LOL.png" class="emo" data-emo-value="LOL" style="" />';   

_data_html = _data_html + emojis;       
_data_html = _data_html + '<br clear="all" /></div></div>';     

$(_data_html).appendTo($('body'));

但是,随着新注释的动态添加,最初声明的 “$('.react')。反应({' 功能不起作用。

作为一个解决办法,我得重复一下 “$('.react')。反应({” 对添加的每个新注释调用函数。这是有效的,但它是在每个新注释中添加的复合词,如 反应 代码附加到 $(正文)

所以在ajax生成的注释中,每次ajax添加新的注释时,我都会得到多个'u emolist'div

<div class 'comment-said'> 
COMMENT HERE
<div class 'likes'>
   <a class="react" data-id="<?=$comment->id?>" data-class="Like"><span> Like</span>

<div class="_emolist" style="width: 250px;"><img src="emojis/Like.svg" class="emoji" data-emoji-value="Like" style=""><img src="emojis/Love.svg" class="emoji" data-emoji-value="Love" style=""><img src="emojis/LOL.svg" class="emoji" data-emoji-value="LOL" style=""><br clear="all"></div>
<div class="_emolist" style="width: 250px;"><img src="emojis/Like.svg" class="emoji" data-emoji-value="Like" style=""><img src="emojis/Love.svg" class="emoji" data-emoji-value="Love" style=""><img src="emojis/LOL.svg" class="emoji" data-emoji-value="LOL" style=""><br clear="all"></div>
<div class="_emolist" style="width: 250px;"><img src="emojis/Like.svg" class="emoji" data-emoji-value="Like" style=""><img src="emojis/Love.svg" class="emoji" data-emoji-value="Love" style=""><img src="emojis/LOL.svg" class="emoji" data-emoji-value="LOL" style=""><br clear="all"></div>

</a>
</div>
</div>

所以..

有没有办法让 “$('.react')。反应({' 打电话,然后对每个新项目再次声明?

我已经搜索过谷歌和这个网站,但找不到任何在这种情况下有效的东西

蒂亚,迈克

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46802
 
1432 次点击  
文章 [ 1 ]  |  最新文章 5 年前