在新插入的PHP内容上绑定.click to toggleClass(“hidden”)。事件冒泡?

时间:2012-08-31 14:57:45

标签: jquery ajax binding event-bubbling

编辑:感谢K.K,我能够解决这个问题!正确工作的代码位于帖子的底部。

我是JavaScript和jQuery的新手,我几天都在努力解决这个问题,但我不会放弃!

我的所有函数都在$(function(){下,所以它们都在DOM上加载就绪。我有一个工作按钮从.php页面加载内容,然后新加载的内容有另一个按钮,点击时应该做一些基本的事情,比如从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 snippits。

<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>

工作代码:由K.K提供

  $('body').on("click", ".missionopen", function(e) {
    $('#missioniframe').toggleClass("hidden");
    e.preventDefault();
  });

0 个答案:

没有答案