jquery load加载问题,加载之后原来页面的js失效
发布时间: 2015-06-05 浏览次数: 1447
标题:jquery load加载问题,加载之后原来页面的js失效
发表人:任若凡发表时间:2015-06-05
详细内容:当点击一个按钮的时候$('$div').load('./test.html');请求返回来的是html内容,包含:js、css、html标签等内容。不过在加载完毕后index.html本页面中的js方法、jquery方法全部失效,点击按钮不再出发事件,这个怎么回事。

姓名:玩转ThinkPHP

这个问题我之前的用PHP的时候也遇到过,但是一直没有解决,后来放弃了,围观
姓名:任若凡

我这个是用Java Web开发的,不过我的前段没有使用特殊的Struts以及jstl标签,纯粹就是js加载问题,怎么就失效了呢,搞不明白,

姓名:张卫明(交互式网站开发讲师)
如果你的事件是直接绑定到按钮上的话,那么当你重新load之后,按钮就不是原来的按钮了,理解这个说法吗?

所以,你绑定到原来按钮上的事件,也不会出现在这个新的按钮上了。这个时候,就要给新的按钮重新绑定事件,或者使用事件委托,直接把事件绑定到不变的元素上。

比如:

$(document).on('click','button',function(){

    //这个时候,是把事件绑定到document上,

    //当每次点击document时,都会判断,当前点击的元素是不是button元素,

    //如果是button元素,则触发该事件

    //所以,这个时候,新添加的button,依然可以被触发该事件

});

$('button').on('click',function(){

    //这个时候,是把事件绑定到了每一个button元素上,

    //但是当页面上新添加button元素时,新添加的button是不会有这个事件的

    //跟你重新load,是相同的原理。

});

姓名:玩转ThinkPHP

这个思路好,我给他重新绑定一下,老张过来厉害。小凡快出来膜拜

姓名:任若凡
OK,过来解决了,基础不牢呀,谢谢老师!
我要发表跟帖

请登录发表跟帖