有人知道如何从客户端关闭Ballon Popup Extender吗?
一切都很好,但是由于我将BPE设置为在鼠标悬停时显示,因此在鼠标移开时没有任何close或hide方法真的是不切实际的,我尝试过:
function hideElement() {
document.getElementById(ID).style.display = 'none';
}
function hideControl() {
document.getElementById('<%=ID.ClientID%>').style.visibility = "hidden";
return false;
}
我将上述方法连接到divs onmouseout之一,我可以在页面上隐藏任何控件,但不能隐藏BPE,并且我尝试对BPE定位的面板执行相同的操作,但是什么也没发生。
有什么我想念的还是BPE那样的东西?
最佳答案
这实际上并不难。您可以在页面上创建如下方法:
<script type="text/javascript">
function hidePopup() {
var popupObject = document.getElementById("<%= Panel1.ClientID %>");
popupObject.BalloonPopupControlBehavior.hidePopup();
}
</script>
然后从控件的
onmouseout
事件中调用该函数,该事件是BalloonPopupExtender的TargetControlID
(在我的示例Panel1
中)。这是我用来测试javascript的代码:<asp:Panel ID="Panel1" runat="server" BackColor="#009900" Height="50px"
Width="50px" onmouseout="hidePopup();">
</asp:Panel>
<asp:BalloonPopupExtender ID="Panel1_BalloonPopupExtender" runat="server"
CustomCssUrl="" DisplayOnClick="False" DisplayOnMouseOver="True"
DynamicServicePath="" Enabled="True" ExtenderControlID=""
TargetControlID="Panel1" BalloonPopupControlID="junk">
</asp:BalloonPopupExtender>
<div id="junk">
Hey! Here's some stuff!
</div>