wwzhanghaocsd
wwzhanghaocsd
2012-05-29 23:15

使用Jquery在一个jsp页面的一个div中异步加载子页面的问题

已采纳

请先看代码:
A页面的代码:







ad.js文件代码:
$(function(){
alert("A页面");
$("#a").click(function(){
alert(加载B页面);
$.load("B.jsp");
});
$("#b").click(function(){
alert("点我有反映");
});
});

B页面的代码:

我是B页面

问题1:进入A页面的时候执行了alert("A页面")(这是正常的); 然后第一次点击 A页面的按钮,执行了一次{alert("A页面");alert(加载B页面);},B页面显示成功,B页面的按钮也能点。然后第二次点击A页面的按钮,{alert("A页面");alert(加载B页面);}连续执行了2次,B页面也加载了。第三次点击A页面的按钮,{alert("A页面");alert(加载B页面);}执行了4次,。。。往后B页面的加载就会越来越慢。感觉好像点击事件在不断的累积一样。求解?
问题2:我针对上面的问题,我把B页面的JS加载给去掉,或者把B页面的按钮点击事件响应写到另一个JS文件中去。这样的话我在B页面的按钮就点不动了,
我的目的是点击A页面的按钮,能加载B页面进来(不刷新A页面),同时B页面的按钮也同样可以执行点击事件(但是不要出现问题1的现象)。
真心求解 啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • renxin111 renxin111 9年前

    1.A.html
    [code="java"]]


    <br>
    <br>






    [/code]

    2.ab.js
    [code="java"]
    $(document).ready(function(){
    alert("A页面");
    $("#a").click(function() {
    alert('加载B页面');
    $('#cont').load("B.html");
    });

    });
    [/code]

    3.B.html
    [code="java"]

    this is b

    $("#b").click(function() { alert("123"); });

    [/code]

    不过不知道为什么,加载进来的B中,如果有中文会是乱码,

    点赞 评论 复制链接分享
  • iteye_15034 iteye_15034 9年前

    补充一下,对于div里面加载子页面和类似的情况,因为整体来说,还是一个页面,所以像 这种,子页面里面不要再写了,否则有时候会出错。
    还有css文件也一样,都不要重复。

    点赞 评论 复制链接分享
  • iteye_15034 iteye_15034 9年前

    b.jsp中的js引用去掉。

    [code="java"]
    $("#b").click(function(){
    alert("点我有反映");
    });
    [/code]
    这部分代码直接写在b.jsp里面,或者卸载load的回调函数里面。等b.jsp加载完成了再执行绑定,否则还么加载,是找不到$("#b")的,也就绑定不了。

    点赞 评论 复制链接分享