它似乎有一个简单的解决方案,但我还想不通,有一千个类似的主题,但没有一个对我有用,所以我以一种非常简单的方式问这个问题,
我有一个按钮,比如说按钮“A”,我想在单击此按钮时加载外部页面的一部分,
加载该部分后,有另一个按钮(“B”)(在加载的内容内)使用 jQuery 显示一些隐藏的内容,问题是第二个按钮不起作用。我尝试设置超时,使用 .load('content.html #1, script'); &...
以下是代码: 主页:
<body>
<a href="#" id="load">Load</a>
<div id="holder"></div>
</body>
内容页面:
<body>
<section id="1">
Content 111
<a href="#" id="show">Show...</a>
<div id="showhere"></div>
</section>
<section id="2">
Content 222
</section>
</body>
脚本
$(document).ready(function() {
$("#load").click(function() {
$('#holder')
.html('<div> Loading</div>')
.load('content.html #1');
});
$("#show").click(function() {
$('#showhere')
.html('<p>here it is</p>')
});
});
编辑:
感谢大家的完美答案,对于这种情况,我认为最短和最简单的方法是使用 .live 但问题是这只是一个让事情变得不那么复杂的示例,在实际项目中,我有一个复杂的 jquery 要在加载的内容,这不仅仅是添加一个 .html 元素,所以基本上,我要求一种解决方案来使 java 脚本在加载的内容上工作,也许在加载内容后进行某种重置或重新加载?
编辑2:
好吧,我还没有找到解决方案,所以我决定更改我的代码,我将 .live 添加到所有函数中,但是还有另一个问题,我知道对于事件我必须使用类似的东西
$("#show").live("click",function() {
代替
$("#show").click(function() {
但是还有很多不在函数中的东西,例如:
var $itval = $("#holder li").length;
$(".filters li input[value*='all']").parent().find('span').html($itval);
$("#holder li, .played").show();
$(".entry-made").hide();
有什么方法可以包装一个不会影响整个 jquery 内容的函数?