我有这两个JS功能的图像:
<div id="myDiv" runat="server" visible="false">
<asp:Image ID="myImage" runat="server" ImageUrl="~/....png"
onmouseover="someFunc();" onmouseout="someFunc2();" />
<div/>
当我点击某个按钮时,我将myDiv
visible
更改为true
但是onmouseover
和onmouseout
不起作用
如果myDiv
默认可见,那么它可以正常工作。
那么,在改变可见度之后,如何使这两个函数调用到w?ork?
这是在更新面板中,可见性通过ajax更改。
答案 0 :(得分:2)
要使其发挥作用,请在代码后面设置display:none
而不是Visible=false
<div id="myDiv" runat="server">
<asp:Image ID="myImage" runat="server" ImageUrl="~/....png"
onmouseover="someFunc();" onmouseout="someFunc2();" />
<div/>
在代码背后
myDiv.Style["display"] = "none";// hide
myDiv.Style["display"] = "block";//show
//myDiv.visible=false;// dont work
答案 1 :(得分:1)
试试这个(默认隐藏)
<div id="myDiv" runat="server" style="display:none;">
<asp:Image ID="myImage" runat="server" ImageUrl="~/....png"
onmouseover="someFunc();" onmouseout="someFunc2();" />
<div/>
在你的按钮内点击事件,我猜是在代码背后
protected void youBtn_Click(object sender, EventArgs e)
{
if(your condition) // show
{
myDiv.Attributes.Add("style","display:block");
}
else // hide
{
myDiv.Attributes.Add("style","display:none");
}
}
答案 2 :(得分:0)
Asp.net不会渲染不可见的元素。这节省了字节。
这仅适用于服务器元素。您可以通过删除'runat =“server”'使其成为客户端元素来解决此问题。
您可以使用display: none
<div id="myDiv" style="display: none">
<asp:Image ID="myImage" runat="server" ImageUrl="~/....png"
onmouseover="someFunc();" onmouseout="someFunc2();" />
<div/>