在jQuery中的元素外部单击时触发的函数
我想在单击body时在循环中显示不同的元素,除了元素在jQuery中的元素外部单击时触发的函数,jquery,stoppropagation,Jquery,Stoppropagation,我想在单击body时在循环中显示不同的元素,除了元素#搜索容器表单。它可以工作,但前提是我首先单击元素#search container form,并且只工作一次 $('html').click(function(event) { $('#search-container form').click(function(event){ event.stopPropagation(); }); $('html').on('click',function() {
#搜索容器表单
。它可以工作,但前提是我首先单击元素#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');
});
});
用于从要将单击事件绑定到的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');
});
来源
not()
在我的代码中不起作用,虽然我没有找到原因,但我已经尝试了该解决方案。。
$('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');
});