javascript - jQuery .live、click、bind 等要使用的

标签 javascript click jquery

<分区>

这听起来可能很“愚蠢”,但我有一个简单的日历,可以像这样加载到页面上:

jQuery('#calendar .show_hide').load('plugins/calendar.html', function(){ // do something // });

这不是问题

日历有 2 个链接,可以滚动浏览月份 - 典型的下一个上一个链接。所以在我的加载函数中我有这个

jQuery('#calendar .show_hide').load('plugins/calendar.html', function(){
   jQuery('a.month_change').on('click',function(){  
    jQuery.ajax({
      type: "post",
      data: jQuery(this).attr('href').replace('#',''),
      url:  'plugins/calendar.html',
      success:function(msg){
        jQuery('#calendar .show_hide').html(msg);
                  }
    });
});

});             

其中 a.month_change 是附加到上一个/下一个链接的类。 Ajax post 发送数据并返回 html。到目前为止一切顺利。

第一次单击 a.month_change 时它起作用,但之后每次都不会加载该页面。如果我尝试 .live('click;,function ... 第一次没有任何反应,也没有任何其他 react 。

我总是对这些事情感到困惑,这是动态加载页面然后让 ajax 调用/链接等始终有效的正确方法。注意动态加载和ajax接收页面是同一个页面-plugins/calendar.html,JQ版本是jquery-1.9.0

最佳答案

Live 从 1.7 开始被弃用并在 1.9 中被移除你必须像这样使用它

$(document).on('click','selector',function(){

});

如果你有一个更近的静态元素,你应该使用最近的静态元素而不是文档。

关于javascript - jQuery .live、click、bind 等要使用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15131521/

相关文章:

c++ - 为什么在VS中左键单击控制台时控制台程序中断?

javascript - 使用 AJAX 将图像添加到 Bootstrap Carousel

javascript - "Objects are not valid as a React Child"进口

python - Pygame 按钮单击

javascript - 调用随机函数 Javascript,但不是两次相同的函数

apache-flex - 在 Flex 4 列表中处理鼠标单击以查找所选项目(因为 itemClick 消失了)

javascript - 更改 DIV 颜色而不提供 ID?

javascript - 如果 Internet Explorer 将打印页面大小调整为 60%

javascript - 有什么方法可以捕获缩放/刷过的 d3.js 多线图位置吗?

javascript - 如何获取和设置谷歌地图的地理位置?