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

时间:2010-11-08 18:46:35

标签: javascript asp.net asp.net-ajax ajaxcontroltoolkit

我使用以下代码在使用cloneNode动态创建的文本框上创建日历控件。问题是在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 个答案:

答案 0 :(得分:0)

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

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")));

只需检查行为是否存在以及是否在创建新行为之前将其删除。