编辑:感谢KK,我能够解决这个问题!正确工作的代码在帖子的底部。
我对 JavaScript 和 jQuery 很陌生,几天来我一直在努力解决这个问题,但我不会放弃!
我的所有函数都在 $(function () { 下,所以它们都加载到准备好的 DOM 上。我有一个工作按钮,可以从 .php 页面加载内容,然后新加载的内容有另一个按钮,当clicked 应该做一些基本的事情,比如从 iFrame 中删除“隐藏”类。
下面是第一个按钮(我删除了 e.preventDefault 以防万一)
$(function() {
$('.top5').click( function(e) {
$("#currentactivity").html('<img src="./images/loading.gif" alt="loading" />').show();
var url= "index.php";
$.post(url, {q:$(this).attr('value')}, function(data){
$("#currentactivity").html(data).show();
});
});
});
以下是第二个按钮的两次尝试,均无效。
// using .live()
$('body').live("click", function(event) {
if ($(event.target).hasClass("missionopen") {
var $target = $('#missioniframe');
if $target.hasClass("hidden") {
$target.toggleClass("hidden");
}
});
});
// Just plain event bubbling (Since body is already loaded?)
$('body').click(function(event) {
if ($(event.target).hasClass('missionopen')) {
$('#missioniframe').toggleClass('hidden');
}
});
这里是 button1、button2(从 php 加载)和 iframe HTML 代码片段。
<a href="#" class="top5" value="1"><img src="./images/qstata.png" /></a>
<a href='#' class='missionopen' value='1'><img class='missionhero' src='./images/bluebutton1.png' /></a>
<iframe src='missioniframe.html' class='hidden' id='missioniframe' frameborder='0' scrolling='no' ></iframe>
工作代码:由 KK 提供
$('body').on("click", ".missionopen", function(e) {
$('#missioniframe').toggleClass("hidden");
e.preventDefault();
});