它似乎有一个简单的解决方案,但我还无法弄清楚,有一千个类似的主题,但没有一个对我有用,所以我以一种非常简单的方式问这个问题,
我有一个按钮,假设按钮“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>
Script
$(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>')
});
});
Edit:
感谢大家的完美解答,
对于这种情况,我认为最短和最简单的方法是使用 .live
但问题是这只是一个使事情变得不那么复杂的示例,在实际项目中我有一个复杂的jquery要在加载的内容中执行,这不仅仅是添加一个.html元素,所以基本上,我要求使java脚本在加载的内容上工作的解决方案,也许在内容加载后进行某种重置或重新加载?
Edit2:
好吧,我还没有找到解决方案,所以我决定更改我的代码,我将 .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 内容的函数?