jquery - 单击启用/禁用div

标签 jquery click overlay

我想在点击时启用覆盖div并在点击时禁用它。

现在,我的代码看起来像这样。也许.on .off使用不当?

$(function() {
    $("#sec_a_div").on("click","#wrapper_overlay");


    var docHeight = $(document).height();

    $("#wrapper_overlay")
      .height(docHeight)
      .css({
         'opacity' : 0.4,
         'position': 'absolute',
         'top': 0,
         'left': 0,
         'background-color': '#666666',
         'width': '100%',
         'z-index': 100
      })

    $.off("click","#wrapper_overlay");

});

最佳答案

我想您需要以下内容:

$(function() {
    var docHeight = $(document).height();
    var overlay = $("#wrapper_overlay")
      .height(docHeight)
      .css({
        'opacity' : 0.4,
        'position': 'absolute',
        'top': 0,
        'left': 0,
        'background-color': '#666666',
        'width': '100%',
        'z-index': 100
      }).hide();

    overlay.on('click', function(){
        $(this).hide();
    });

    $("#sec_a_div").on('click', function(){
        overlay.show();
    });
});


了解jQuery的.on.off方法并不难:

$(elementSelector).on(eventName, eventHandler);
$(elementSelector).off(eventName, eventHandler);


哪里:


elementSelector可以是任何内容,从CSS选择器字符串到DOM对象的集合,或者是先前创建的jQuery选择。
eventName是事件的名称,可以是默认值(clickmouseoverkeydown等)之一,也可以是由$(elementSelector).trigger(eventName);调用触发的自定义事件
eventHandler是事件发生时执行的函数,其中赋予该函数的第一个参数是jQuery的事件对象。


并且

$(elementSelector).on('click', function(){
});


是相同的

$(elementSelector).click(function(){
});

关于jquery - 单击启用/禁用div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020056/

相关文章:

javascript - 图片上传前的多个缩略图

javascript - 在jquery jtable中分页显示1 2 3 NAN NAN 4

python - 单击带有 selenium 和 python 的 href 按钮?

Android map 自定义覆盖不可见

Angular CDK : attach overlay to a clicked element

javascript - 具有最小高度的响应式 Chart.js 圆环图

javascript - jQueryUI .extend 问题

jquery - 引用嵌套类以使JQuery单击以起作用

jQuery水平滚动(单击并设置动画)

ios - 无法使用iOS Swift在Google map 上加载自定义图 block