【问题标题】:Selecting date in datepicker fires wrong event在日期选择器中选择日期会触发错误事件
【发布时间】:2014-06-11 06:51:43
【问题描述】:

我的网站上有两个元素:

<asp:DropDownList CssClass="SelectionDDL" ID="ddlClientMapFilter" runat="server"></asp:DropDownList>

以及页面上的其他地方:

<asp:TextBox ID="tbFromDate" runat="server" OnTextChanged="ddl_ReportFilterChanged"></asp:TextBox>
<asp:TextBox ID="tbToDate" runat="server" OnTextChanged="ddl_ReportFilterChanged"></asp:TextBox>

在 Javascript 中:

$(function(){
    $(document).on("change", $("#ddlClientMapFilter"), function() {
         RefreshMapList();
    });
});

以及页面上的其他地方: Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(OnAsychPostback);

function OnAsychPostback(s, e) {
$("#tbFromDate").datepicker({
            defaultDate: "-1",
            changeMonth: true,
            numberOfMonths: 3,
            onClose: function (selectedDate) {
                $("#tbToDate").datepicker("option", "minDate", selectedDate);
            }
        });
        $("#tbToDate").datepicker({
            //defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 3,
            onClose: function (selectedDate) {
                $("#tbFromDate").datepicker("option", "maxDate", selectedDate);
            }
        });
}

现在是奇怪的部分。

一切似乎都在工作,除了每次我使用任何日期选择器选择一个日期时,下拉事件都会被触发。我知道解决方案很简单,添加 if 并检查事件的目标是否是该下拉列表,但我想知道如何不触发该事件,而且我在该事件旁边附加了大量其他事件,并且只有这个事件被解雇了。

显然某处有一个错误,但我不知道如何找到它的任何想法?

【问题讨论】:

    标签: javascript jquery asp.net jquery-ui-datepicker jquery-events


    【解决方案1】:

    这是因为on()(在委托语法中)的第二个参数必须是选择器字符串,而不是 jQuery 对象

    $(function(){
        $(document).on("change", "#ddlClientMapFilter", function() {
             RefreshMapList();
        });
    });
    

    演示:Fiddle

    在演示中,第一个处理程序仅在 #x 元素更改时触发,而第二个处理程序在任何输入更改时触发。

    根本原因似乎是如果第二个参数不是字符串,那么它被认为是数据参数(你可以检查事件对象的data属性来测试这个)......

    演示:Fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2022-11-02
      • 1970-01-01
      • 2021-07-17
      • 2013-09-04
      相关资源
      最近更新 更多