我正在实现一个页面jquery选项卡切换,它从页面上的隐藏div加载内容。在其中一个隐藏页面上,我有一个日历弹出窗口( jQuery.UI应用编程接口的一部分。这是在它自己的页面上找到的,但当我将它添加到一个隐藏的块中,然后将该块加载到可见窗口中时,我失去了正确弹出日历的能力。我尝试过不走运地使用live --它适用于这些隐藏div页面上的其他事件绑定元素。
下面是我正在做的一个示例:
$(".tab-toggle").live("click",function() {
alert("test");
$(".calendar-class").datepicker({showOn: 'both', buttonImage: 'images/icon-calendar2.gif', buttonImageOnly: false, changeMonth: true, changeYear: true, yearRange: '2009:2015'});
});
每次加载页面时都会触发警报,但日历不会重新绑定到事件。
$(".calendar-class").datepicker({showOn: 'both', buttonImage: 'images/icon-calendar2.gif', buttonImageOnly: false, changeMonth: true, changeYear: true, yearRange: '2009:2015'});
在立即加载到可视窗口的页面中工作得很好,但当我用tab键切换到另一个页面,然后按tab键返回时,它就停止工作了。
发布于 2011-02-26 03:16:41
我做了同样的事情,但是我没有使用Jquery UI来切换它。相反,我做了一个基本的显示/隐藏。
这是我使用的jQuery:
$("#changeSortCal").click(function(){
$("#search_choose_cal").hide();
$(".calendarContainer").slideDown('slow');
});
$(".calendar-close-button").click(function(){
$(".calendarContainer").hide();
$("#search_choose_cal").slideDown('slow');
});
应该不需要.live
或.bind
,因为DatePicker已加载到pageLoad上。
https://stackoverflow.com/questions/1402190
复制