Jquery .click 函数,更改特定 id 的行为

标签 jquery css

所以我有这个功能

    $('#wrapper').click(function () {
        hideDropDown();
        checkForPiehtcFix();
        hideSearch();
    });

#wrapper 包含我的所有内容。因此,每当我单击任何地方时,我都会隐藏我的搜索 div。

   function hideSearch() {
        isDropSearch = false;
        $('#mn_search').css({ 'background-position': '0 0' });
        $('#dd_search').removeClass('show').addClass('hide');
    }

问题是,当用户单击我的搜索(即 div #dd_search)时,我不想隐藏搜索,因为用户永远无法输入搜索,因为当他们单击它时,它会关闭。

因此,我希望在 #wrapper click 中添加一个子句,以检查他们是否在 #dd_search 中单击,如果单击了,那么我不想调用 hideSearch();

最佳答案

一种方法是:

$('#wrapper').on('click', ':not(#dd_search)'(function () {
    ...
});

第二种方法是:

$('#wrapper').click(function (e) {
    if (e.target.id == 'dd_search' || $(e.target).find('#dd_search').length)
        return false;
    ...
    ...
});

第三种方法是:

$('#wrapper').click(function () {
    ...
});

$('#dd_search').click(function(){
    return false; // stops the bubbling.
});

关于Jquery .click 函数,更改特定 id 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221837/

相关文章:

jquery - 在 php 和 jquery 中单击追加时,ckeditor 无法加载

jquery - 滚动后降低标题高度

Javascript - JQuery -clearInterval/setInterval - iframe循环不会在点击时停止

html - 使 div 在固定的父 div 中响应

javascript - 如何获取数组文本框中文本框的键(索引)值

javascript - 在值更改时在范围输入的处理程序上显示所选值

css - 如何设置自定义字体以在邮件中显示文本

javascript - 键入时搜索并显示表值

ASP.NET:如何在 DataBind 期间设置控件的 css 类?

javascript - 数据表列过滤器未显示