您好,我想点击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();
});
});
答案 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小提琴,可以满足我的想法:
$('.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());
})