我有一个使用 Ajax dropdownextender ans asp 控件的用户控件。当用户从面板选中任何复选框时,我想停止下拉面板的关闭。为此我使用这个java脚本代码
var DDE;
//Onload event set droparrow visibility to true
function DropDownExtender1_pageLoad() {
DDE = $find('<%= DDE.ClientID%>');
DDE._dropWrapperHoverBehavior_onhover();
$get('<%= DropPanel.ClientID%>').style.width = $get('<%= txtDisplay.ClientID%>').clientWidth;
if (DDE._dropDownControl) {
$common.removeHandlers(DDE._dropDownControl, DDE._dropDownControl$delegates);
}
DDE._dropDownControl$delegates = {
click: Function.createDelegate(DDE, ShowMe),
contextmenu: Function.createDelegate(DDE, DDE._dropDownControl_oncontextmenu)
}
$addHandlers(DDE._dropDownControl, DDE._dropDownControl$delegates);
//dropdown arrow key allways visible.
$find('<%= DDE.ClientID%>').unhover = doNothing;
$find('<%= DDE.ClientID%>')._dropWrapperHoverBehavior_onhover();
//Maintain scroll position
var h = document.getElementById('<%= hfScrollPosition.ClientID%>');
document.getElementById('<%= divGrid.ClientID%>').scrollTop = h.value;
}
//do nothing on arrow key hover
function doNothing() { }
//Ragister onload event
Sys.Application.add_load(DropDownExtender1_pageLoad);
//Ragister on page load
function ShowMe() {
DDE._wasClicked = true;
}
当我在 aspx 页面上只使用我的控件的一个实例时,这很好用。但是,当我在同一页面上使用超过 1 个实例时。那时,除了控件的可见性之外,所有事情都正常工作。那时,当用户单击任何复选框时,它会隐藏面板。但是表单的最后一个控件工作得很好。我的意思是说脚本被最后一个控件越冬。
谁能告诉我在这种情况下我该怎么办。