我想在单击body时显示循环中的不同元素,但元素#search-container form
除外。它有效,但只有当我第一次点击元素#search-container form
时,它才会工作一次。
$('html').click(function(event) {
$('#search-container form').click(function(event){
event.stopPropagation();
});
$('html').on('click',function() {
$('#small-search a').toggleClass('notvisible');
$('#session').toggleClass('notvisible');
$('#search-container').css('position','absolute');
$('#search-container form').toggleClass('visible');
});
});
答案 0 :(得分:4)
$('html').not("#search-container form").on('click',function(){
$('#small-search a').toggleClass('notvisible');
$('#session').toggleClass('notvisible');
$('#search-container').css('position','absolute');
$('#search-container form').toggleClass('visible');
});
答案 1 :(得分:0)
使用.not()
从您将click事件绑定到的jQuery对象中删除元素:
$('html').not("#search-container form").on('click',function(){
$('#small-search a').toggleClass('notvisible');
$('#session').toggleClass('notvisible');
$('#search-container').css('position','absolute');
$('#search-container form').toggleClass('visible');
});
<强>来源(S)强>