【发布时间】:2021-08-18 05:54:00
【问题描述】:
我正在尝试重构代码源。 我遇到了重新创建 Jquery DatePicker 的问题。
我的 DatePicker 已经初始化如下:
$("#datepicker").datepicker({
showOn : "button",
buttonText: "<i id='really' class='myclass'>Show</i>",
dateFormat: 'dd/mm/yy'});
但是,按钮类 - myclass ,我正在使用该按钮来刷新 datePicker 选项。
$(".myclass").click(function(){
//destroy the old datepicker.
$("#datepicker").datepicker("destroy");
//do something probably async here.
doSomething();
//Recreate the same with some other options
$("#datepicker").datepicker({
showOn : "button",
//More options go here. But buttonText remains the same.
buttonText: "<i id='really' class='myclass'>Show</i>",
dateFormat: 'dd/mm/yy'});
});
我的日期选择器刷新了,但是我无法通过单击具有相同类的“新”日期选择器按钮再次触发相同的方法。
有人可以帮我吗?
更新:我使用的是 JQuery 1.3.2,除此之外不能使用任何东西,奇怪的约束。
【问题讨论】:
-
因为您正在单击一个没有单击处理程序的新元素。查看event delegation。
-
你能告诉我使用 Fiddle 吗?使用我的日期选择器选项?无法触发
#datepicker静态祖先的事件 - 假设是 -
嗯,你是对的,看起来事件的传播正在停止。鉴于您的用例看起来像
beforeShow会起作用。以后有时间我再看看。
标签: javascript jquery datepicker