为什么 Javascript 函数调用在从代码隐藏更改可见性后不起作用
Why a Javascript function call doesn't work after changing visibility from code behind
我有两个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 更改。
若要完成此操作,请在代码隐藏中使用设置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
试试这个(默认隐藏)
<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");
}
}
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/>
相关文章:
- jQuery css可见性在load方法中不起作用
- JavaScript可见性不起作用('隐藏'起作用,'可见'不起作用)
- 滚动条不可见,CSS3转换在MOZ中不起作用
- html可见性样式;不起作用
- 为什么 Javascript 函数调用在从代码隐藏更改可见性后不起作用
- 使用 CSS 在导航栏上创建“不可见”滚动条(隐藏不起作用)
- 如果语句和挖空中的可见绑定不起作用
- “返回顶部”按钮仅在窗口滚动时可见(但移动设备不起作用)
- Jquery IE7(:“可见”)验证器不起作用
- 淘汰JS可见似乎不起作用
- jquery UI的可拖动性和可伸缩性不起作用
- 图像存在性检查不起作用
- 选择:使用jquery的可见表单元格不起作用
- 带有转换器的JSViews可见链接没有'不起作用
- 可见性不起作用
- 应用css样式时,knockout.js的可见性不起作用
- 为什么我的切换可见性javascript函数不起作用
- jQuery除法可见性隐藏不起作用
- knockout中的可见性绑定不起作用
- 可见性:隐藏似乎在IE,Chrome或Safari下不起作用