jquery click事件未触发

时间:2013-06-18 04:49:23

标签: jquery

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

$(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();
    });

});

3 个答案:

答案 0 :(得分: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');       
});

答案 1 :(得分:0)

假设您按照与网页相同的顺序放置代码,我认为您只需在注册点击处理程序后执行触发操作。

这是一个JS小提琴,可以满足我的想法:

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

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

$(".fc-button-prev a span").trigger('click');

答案 2 :(得分:0)

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

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