【发布时间】:2014-12-19 10:49:42
【问题描述】:
我对以下代码有疑问。 用于切换 div 的按钮。 在切换 div 中,还有一些其他 div 和其他元素。
$(function () {
$('#btn').click(function (e) {
e.preventDefault();
console.log('clicked toggle');
$('#Popover').toggle();
if ($('#Popover:visible').length == 0) {
$('#Popover').hide();
} else {
$('#Popover').show();
}
});
});
$(document).on('click', function (e) {
var container = $('#Popover');
var trigger = $('#btn');
if (($(e.target).closest(trigger).length === 0) && ($(e.target).closest(container).length === 0)) {
container.hide();
}
});
按钮切换 div 效果很好。当我在按钮/togglediv 外部单击时,togglediv 会隐藏。
问题是当点击切换 div 内的 div 时,该 div 也会隐藏。
似乎 && 运算符不起作用或我的代码有其他问题。
可能是回发问题 以下代码是切换 div 内的 div (div id="hourInc") 的 onclick 方法
$('#hourInc').click(function (e) {
e.preventDefault();
var hour = $('#cn_TimeHour').val();
if (hour < 12) {
hour = (hour * 1) + 1;
}
else {
hour = 0;
}
$('#cn_TimeHour').val(("0" + hour).slice(-2));
setTime();
});
【问题讨论】:
-
&&运算符根本与 jQuery 无关。条件有问题。尝试一一调试。 -
你能提供完整的 html 问题演示吗?
-
提供相关的 HTML 标记。
标签: javascript jquery operators toggle show-hide