js事件 <思维过程>

来源:互联网 发布:使命召唤12js模式 编辑:程序博客网 时间:2024/06/14 14:35

今日 写同城交友页面时碰到的问题

当点击页面的 <打招呼> 就会替换图片为黑白色的<已打招呼> 这是利用下列代码来完成的

                         $('.index-call').click(function () {                             $(this).attr('src','images/index/call.png');                             event.stopPropagation();                         })
但是 替换的<打招呼>只在自己写的静态页面里有效   在ajax里动态加载的代码里的 <打招呼>是无法完成替换效果的

这是因为在document执行完成后就会调用事件 而后来动态加载的代码则要另行绑定

之后在网上搜索得知利用jquery的on()方法可以实现绑定动态加载的代码 然后用网上给出的方法各种尝试 花了有3个小时 on()进行修改研究

但还是无法实现项目需求。后来找到另一位同事,将代码(一个普通的click点击事件)放入ajax动态加载的代码里 append()方法的后面,即得

出了我想要的结果 。

在此问题上 花费三小时,并非是代码逻辑的错误,而是意识上的错误。一直认为问题出在on()方法的代码上,为什么不去思考当ajax动态加

载完成之后在后面的代码上使用click()事件呢? 因为前面之所以无法完成需求 不就是因为在加载之前就会执行click()代码吗?我加载完 再用

click()不就ok了吗! 

0 0