我的页面上有一个div隐藏了:AddSupplier,我的页面上有一个按钮,如果它不可见,则必须显示div,但如果div可见则相同的按钮会保存一些内容。所有这一切都在起作用,但在这个AddSupplier div中有一个选择框“ddSupplierTypes”,当点击选择框时,AddSupplierButton点击事件会被触发,为什么会这样,是否有解决方法?
坦克提供任何帮助。
<%@ Page Language =“C#”%>
$().ready(function() { $('#AddSupplier').hide(); $('[id$=AddSupplierButton]').click(function() { if ($('#AddSupplier').is(':visible')) { //do this alert('event fired'); } else { //do that $('#AddSupplier').show(); } return false; }); }); </script> </head> <body> <form id="form1" runat="server"> <div id="wrapper"> <asp:ImageButton ID="AddSupplierButton" runat="server" Height="18px" ImageUrl="~/images/add.png" OnClientClick="return(false);"/> </div> <div id="AddSupplier"> <select id="ddSupplierTypes"> <option value="S">ss</option> <option value="F">kk</option> <option value="W">oo</option> <option value="P">ii</option> </select> </div> </form>
答案 0 :(得分:0)
我建议
if( $('#elemet').is(':visible') ) { do this }
else { do that }
答案 1 :(得分:0)
我试图简化上面的代码,但忘了提到我正在使用母版页。所以在我的母版页面上我得到了这个图像按钮控件
<asp:ImageButton ID="AddVerskaffer" OnClientClick="return(false);"/>
我在jQuery中调用'[id$=AddSupplierButton]'
,因为母版页将控件名称更改为某个长ID。
现在我用普通链接替换了asp图像按钮
<a id="AddVerskaffer" href="javascript:void(0);" ></a>
现在它有效。单击选择框时不会触发任何事件。
为什么你认为会发生这种情况?