0

您好,我想触发 jquery full 日历的下一个或上一个按钮单击事件。但是点击事件没有触发我尝试了几种没有触发的方法

$(document).ready(function () {
    $('#contaner_wrapper').css("height", "100%");
    $(".fc-button-prev a span").trigger('click');

    $(".fc-button-next a span").trigger('click');       
    $('.fc-button-prev a span').click(function () {
        alert($("#calendar").fullCalendar('getView').start.toString());

        var abc = $("#calendar").fullCalendar('getView').start.toString();

        var ab = $("#calendar").fullCalendar('getView').end.toString();
        // Displaymonthevents();
    });

    $('.fc-button-next a span').click(function () {
        // Displaymonthevents();
        alert($("#calendar").fullCalendar('getView').start.toString());
        var abc = $("#calendar").fullCalendar('getView').start.toString();

        var ab = $("#calendar").fullCalendar('getView').end.toString();
    });

});
4

3 回答 3

1

问题可能是,您正在使用 fullcalendar 并且这些元素是由 fullcalendar 插件创建的,因此当执行此脚本时,可能尚未创建插件。这意味着事件处理程序不会被注册。

所以解决方案是利用事件委托

$(document).ready(function () {
    $('#contaner_wrapper').css("height", "100%");
    $(document).on('click', '.fc-button-prev a span', function () {
        alert($("#calendar").fullCalendar('getView').start.toString());

        var abc = $("#calendar").fullCalendar('getView').start.toString();

        var ab = $("#calendar").fullCalendar('getView').end.toString();
        // Displaymonthevents();
    });

    $(document).on('click', '.fc-button-next a span', function () {
        // Displaymonthevents();
        alert($("#calendar").fullCalendar('getView').start.toString());
        var abc = $("#calendar").fullCalendar('getView').start.toString();

        var ab = $("#calendar").fullCalendar('getView').end.toString();
    });

    $(".fc-button-prev a span").trigger('click');
    $(".fc-button-next a span").trigger('click');       
});
于 2013-06-18T04:56:03.387 回答
0

假设您将代码与网页的顺序相同,我认为您只需要在注册点击处理程序后执行触发器即可。

这是一个 JS Fiddle,它可以满足我的要求:

http://jsfiddle.net/Td5cG/1/

$('.fc-button-prev a span').click(function () {
    alert("clicked it");
});

$(".fc-button-prev a span").trigger('click');
于 2013-06-18T05:00:07.923 回答
0

使用.live()- 旧版本或.on()- 新版本。例子:

$(".fc-button-prev a span").live('click', function(){ alert($("#calendar").fullCalendar('getView').start.toString()); })

于 2013-06-18T05:00:31.947 回答