我在页面中使用了切换div。我有一个文本框和一个下拉列表。
<div class="Search" style="display: none" >
<table width="100%" style="border: 1px solid #fff; border-radius:5px;padding:15px">
<tr>
<td width="60px">دسته بندی</td>
<td>
<asp:DropDownList ID="CategoryDropDownList" runat="server" />
</td>
</tr>
<tr>
<td>کلمه کلیدی</td>
<td>
<asp:TextBox ID="SearchTextBox" runat="server" Width="95%" />
</td>
<td><asp:ImageButton runat="server" ID="SerachButton" ImageUrl="~/images/btnSearchIcon.png" OnClick="SerachButton_Click" ValidationGroup="Search" /></td>
</tr>
</table>
</div>
点击页面上的任意位置时隐藏它。
<script type="text/javascript">
$(document).ready(function () {
$('#showSreachDiv').click(function (evt) {
$(".Search").toggle("slow");
evt.stopPropagation();
});
$(document).click(function () {
var $el = $(".Search");
// toggle div
if ($el.is(":visible")) {
// fade out
$(".Search").toggle("slow");
}
});
});
</script>
但是当我在切换div中点击控制时,隐藏它。
我想在文本框中插入文本,但不要这样做。
答案 0 :(得分:0)
试试这个:
$(document).ready(function () {
$('#showSreachDiv').toggle(function (evt) {
$(".Search").fadeout("slow");
}, function(evt){
$(".Search").fadein("slow");
}
);
}
答案 1 :(得分:0)
试试这个例子:
<script type="text/javascript" language="javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#showSreachDiv').toggle(function (evt) {
$(".Search").toggle("slow");
}, function(evt){
$(".Search").toggle("slow");
}
);
});
</script>
<a href="#" id="showSreachDiv">Toggle</a>
<div class="search" style="border:solid 2px #CCC;display:none;">
<h1>//Your Work Here...</h1>
</div>
答案 2 :(得分:0)
您可以检查document.click
被点击的元素是否是搜索DIV
的子元素,在这种情况下,取消点击处理程序:
$(document).click(function (evt) {
if ($(evt.target).parents('.Search').length > 0) return;
// put original code here ...
});