jquery .load() 函数仅在第一次工作
jquery .load() function only working the first time
所以我有一个网站,我正在做一个使用 jQuery 和 jQuery UI 的个人网站
以前我一直在使用隐藏的html代码,只是使用jquery来显示它。但它使我的 html 文件变得混乱,所以我想使用 jquery 的 .load() 做同样的事情,但从外部文件。
现在,它设置为.click函数。
对于我的隐藏html,每次单击特定元素时都会显示它。当您单击其他元素时,它。它隐藏了第一个。我是通过拥有一个带有 2 个类的div 来做到这一点的。 问题是当我尝试将 html 加载到隐藏的div 中,然后显示并隐藏它时,它只在第一次起作用。
说得够多了,这是我的代码。 #1 有效,#2 仅在第一次点击时有效。并且每次都将图像区域留空。
$(".jquery").click(function(){
clearImageArea();
hideThumbnails(5);
showThumbnails();
$("#1").click(function(){
$(".imagearea").html(js);
$(".jscode").show(1000);
$(".title").text("Extending jQuery");
});
$("#2").click(function(){
$(".jquery2").empty();
$(".jquery2").load("jqueryEx.html");
var jquery2 = $(".jquery2");
$(".imagearea").html(jquery2);
$(".jquery2").show(1000);
$(".title").text("Extending Jquery Example");
});
});
现在我的HTML文件中隐藏的东西
首先,我的html和js代码从jqueryEx加载到这里.html并通过$(".hidden").hide();
隐藏在我的javascript中的其他地方,然后通过.html()
加载到imagearea中,并通过.show()
显示
<div class="jquery2 hidden">
</div>
我的另一个div看起来像这样,通过单击#1放入图像区域
<div class="jscode hidden">
<div class="block">
许多 js 代码被转义到 HTML 中
</div> <!-- end of block-->
</div>
在我的JS代码的其他地方,一开始我var js=$(".jscode");
将其加载到您之前看到的js变量中。
如果您想查看我正在处理的过时示例转到 www.3realsoft.com(只有 CSS 和 JS 处理技能)
如果您想查看我的代码的任何其他部分,请询问。不过,其中大部分都在我的网站上。
当我尝试让一个按钮同时加载和刷新内容时,我在搜索结果中得到了这个项目,并且加载正在工作,但刷新不起作用。
这是解决方案的较短版本,将缓存设置为 false 是关键。 解决方案在另一个链接中找到,但我在这里发布这个概念,因为如果谷歌把我放在这个项目中,其他寻找同样的东西的人也可能在这里找到自己。对约翰·米利金的道具,一定要去他的答案并投票给他:停止缓存 jQuery .load 响应
<script type="text/javascript">
$(document).ready(function () {
$.ajaxSetup({
// Disable caching of AJAX responses
cache: false
});
$('.detail-expand').click(function () {
var detailRowElement = $(this).closest('.session-row-tr').next();
var detailElement = detailRowElement.find('.detail-row-div');
var sessionId = detailElement.data("sessionId");
detailElement.empty();
detailElement.load('/Admin/WebLogPartial/' + sessionId, function () {
$.bootstrapSortable(true, 'reversed');
});
detailRowElement.show();
});
});
</script>
任何依赖于正在加载的 HTML 的事情都必须在回调函数中完成,因为 AJAX 中的第一个 A 代表异步。
$("#2").click(function(){
$(".jquery2").empty();
$(".jquery2").load("jqueryEx.html", function() {
var jquery2 = $(".jquery2");
$(".imagearea").html(jquery2);
$(".jquery2").show(1000);
$(".title").text("Extending Jquery Example");
});
});
我不太确定你想用.html(jquery2)
做什么,因为.html()
的参数应该是一个字符串,而不是一个jQuery对象。也许你的意思是:
var jquery2 = $(".jquery2").html();
- Javascript:JSON请求仅在第一次工作
- 让jqGrid第一次工作
- show-hide只在ajax调用中第一次工作
- $(this) .prop() 只在第一次工作
- 复选框选择/取消选择触发器第一次工作,但在随后的尝试中失败
- 光滑的滑块只在Jquery Mobile中第一次工作
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- NG-CLICK功能仅在第一次工作
- jQuery Animation只是第一次工作
- jquery .load() 函数仅在第一次工作
- 加载ajax的Javascript只能在第一次工作
- 我的node.js http请求第一次工作,现在它显示了一些错误
- Jquery ajax调用只在第一次工作
- 在jquery 1.3.2中反复工作的Ajax只在1.7.1中第一次工作
- 对象搜索只在第一次工作
- addEventListener只在第一次工作
- 动画只在第一次工作
- AngularJS和Fullcalendar: eventClick只在第一次工作
- 无法调用$stateProvider两次来更新视图(它只在第一次工作)
- 调用js函数只能在jquery手机上第一次工作