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

问题描述

请先看代码:A页面的代码:<html> <head> <script type="text/javascript" src="js/jquery-1.7.2.js"></script> <script type="text/javascript" src="ab.js"></script> </head> <body><input type="button" value="点我" id="a"><div id="cont"></div></body></html>ad.js文件代码:$(function(){ alert("A页面"); $("#a").click(function(){ alert(加载B页面); $.load("B.jsp"); }); $("#b").click(function(){ alert("点我有反映"); });});B页面的代码: <script type="text/javascript" src="js/jquery-1.7.2.js"></script> <script type="text/javascript" src="ab.js"></script><h1>我是B页面</h1><input type="button" value="点不动" id="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的现象)。真心求解 啊

解决方案

1.A.html]<html><head><script type="text/javascript" src="js/jquery-1.7.1.min.js"></script><script type="text/javascript" src="ab.js"></script></head><body><input type="button" value="点我" id="a"><div id="cont"></div></body></html>2.ab.js$(document).ready(function(){alert("A页面");$("#a").click(function() {alert('加载B页面');$('#cont').load("B.html");});});3.B.html<h1>this is b</h1><input type="button" value="" id="b"><script type="text/javascript">$("#b").click(function() {alert("123");});</script>不过不知道为什么,加载进来的B中,如果有中文会是乱码,
解决方案二:
补充一下,对于div里面加载子页面和类似的情况,因为整体来说,还是一个页面,所以像<script type="text/javascript" src="js/jquery-1.7.2.js"></script> 这种,子页面里面不要再写了,否则有时候会出错。还有css文件也一样,都不要重复。
解决方案三:
b.jsp中的js引用去掉。 $("#b").click(function(){ alert("点我有反映"); }); 这部分代码直接写在b.jsp里面,或者卸载load的回调函数里面。等b.jsp加载完成了再执行绑定,否则还么加载,是找不到$("#b")的,也就绑定不了。

时间: 2024-08-04 12:19:43

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

jsp使用ajax加载子页面,使用ajax提交子页面的表单没反应,提交按钮点击不了

问题描述 jsp使用ajax加载子页面,使用ajax提交子页面的表单没反应,提交按钮点击不了 子页面相关js代码如下: $(function(){ $("#chaxun_btn").click(function(){ var rightitem=$("#chaxun_btn").parent("right-item"); var url=$("#chaxun_btn").attr("url"); $.aja

jQuery使用zTree插件实现树形菜单和异步加载_jquery

本文实例讲解了jQuery使用zTree插件实现树形菜单和异步加载,并且可以进行编辑,分享给大家供大家参考,具体内容如下 效果图: 一.HTML代码 <html> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <l

发现一个.Net中动态加载控件时关于焦点方面的Bug

动态|加载|控件 今天写一个系统框架的时候用到了动态加载,调试的时候发现程序经常会出现死锁的情况,而且死锁的时候还会打开一个"WindowsFormsParkingWindow"后台进程,跑到网上查了半天关于WindowsFormsParkingWindow的资料,结果中文的一篇没找到,蝇文的倒有几篇,对着金山词霸费了九牛二虎之力还没看出个道道来.后来干脆新建了一个项目,只写了几行代码,结果运行的时候发现还是会有死缩的情况: 1.新建一个windows应用程序 2.添加一个UserCo

Jquery zTree 树控件异步加载操作_jquery

zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE.FireFox.Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动.编辑.删除 支持任意更换皮肤 / 个性化图标(依靠css) 支持极其灵活的 checkbox 或 radio 选择功能 简单的参数配置实现 灵活多变的功能 异步加载的意思就是: 当点

jQuery Ztree行政地区树状展示(点击加载)_jquery

Ztree行政地区树状展示(点击加载) 效果如下:   开始贴代码: 实体类 Item,用于对Ztree的节点展示 public class Item { private String id; private String pId; private String name; private int type; private String isParent; //getters/setters } 通过业务代码获取加载的对象: @RequestMapping("/province/showPro

异步加载:ControlJS让脚本加载更快的一个模块

文章简介:关于ControlJs的使用和基础讲解. 关于ControlJs一共有三篇文章,这是第一部分.ControlJS是让脚本加载更快的一个模块(a javascript module for making scripts load faster). 三篇文章的结构分别为: 1. async loading2. delayed execution3.overriding document.write关于第一部分的异步加载,这个的关键在于尽快将页面作为html绘制出来,然后再用javascri

JQuery ztree带筛选、异步加载实例讲解_jquery

本文实例分享了JQuery ztree带筛选.异步加载实例,供大家参考,具体内容如下 <html> < head> < base href="<%=basePath%>"> <title>My JSP 'ztree.jsp' starting page</title> <link rel="stylesheet" href="zTrees/css/zTreeStyle/zTree

jsp页面-如何在一个JSP页面的4行中分别对映输出4行TXT文档的内容,具体的看图~~

问题描述 如何在一个JSP页面的4行中分别对映输出4行TXT文档的内容,具体的看图~~ 这张是最后要实现的效果图,里面的IP都是我手打的.. 这张是需要读出的文本,最终要传入到页面中的INPUT标签中 解决方案 跪求哪位大神帮忙啊~~~ 解决方案二: 求指导啊.很急..... 解决方案三: 这个简单啊.很容你用文件读取 直接一行一行读取出来. 解决方案四: try { String encoding="GBK"; File file=new File(filePath); if(fil

bootstrap-如何把jsp页面头部中那些加载css、js的命令提取出来放在一个jsp页面里

问题描述 如何把jsp页面头部中那些加载css.js的命令提取出来放在一个jsp页面里 是这样的我要做好几个jsp页面,都使用bootstrap作为前端框架 于是在每个jsp页面的 head>中都有这么一大段加载命令: <link href="css/charisma-app.css" rel="stylesheet"> <link href='bower_components/fullcalendar/dist/fullcalendar.c