有人知道如何从客户端关闭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>

09-18 03:48