代码之家  ›  专栏  ›  技术社区  ›  Mike Florian Doyen

是否可以从使用$create添加的元素中移除行为?

  •  0
  • Mike Florian Doyen  · 技术社区  · 14 年前

    我使用以下代码在使用clonenode动态创建的文本框上创建日历控件。问题在于,在IE中,它似乎向文本框添加了两次行为,导致其无法工作。是否有一种方法可以在将此行为添加到IE中之前将其删除,以防止再次添加它?这在Firefox中非常有效。谢谢!

    var rawDateControlID = ctrlPrefix + 'txtStartDate' + tblPatientMedicationsRowCount;
    var $tstCalendar = $("#" + rawDateControlID);
    $create(AjaxControlToolkit.CalendarBehavior, { "id": $tstCalendar.attr("id") + "cld" }, null, null, $get($tstCalendar.attr("id")));
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Mike Florian Doyen    14 年前

    这在某些情况下似乎有帮助:

    var $tstCalendar = $('#' + txtStartDateID);    
    if ($find($tstCalendar.attr("id") + "cld"))
    {
       $find($tstCalendar.attr("id") + "cld").dispose();
    }
    $create(AjaxControlToolkit.CalendarBehavior, { "id": $tstCalendar.attr("id") + "cld" }, null, null, $get($tstCalendar.attr("id")));
    

    只需在创建新行为之前检查行为是否存在,以及是否确实消除了它。