如何删除通过 jQuery 插入的引导模式?

2023-12-29

我决定拥有一个可以在需要插入自定义 Bootstrap 模式时使用的脚本。我不想让空的静态 Bootstrap 模式 HTML 位于每个页面的底部,如果它不总是被利用的话。

所以,这可能是错误的做法,但这是我的尝试。 我创建了一个变量,它是模式“shell”html。然后,当我单击设备项时,它会附加到正文中。然后我克隆了一些内容并将其附加到模式的标题和正文中。一切正常。但模式关闭后我无法将其删除。这与我通过 JS 插入 HTML 的事实有关,因为如果 Modal shell HTML 静态存在于我的 HTML 页面中,则删除工作正常。

HTML:

<ul>
    <li class="span4 device">
        <div class="inner">
            <h3>Device 4</h3>
            <div class="device-product">
                <img class="device-image" src="img/placeholder-holding-image.png" alt="Holding Image" />
                <a href="#" class="hide">Troubleshoot this item</a>
                <a href="#" class="hide">How to use this product</a>
            </div>
            <div class="device-details">
                <div class="control-group">
                    <label class="control-label">Device Type:</label>
                    <span class="field">Really cool device</span>
                </div>
                <!-- Small amount of hidden additional information -->
                <div class="control-group hide">
                    <label class="control-label">Device ID:</label>
                    <span class="field">123456</span>
                </div>
            </div>
        </div>
    </li>
</ul>

jQuery:

var customModal = $(
    '<div class="custom-modal modal hide fade" tabindex="-1" role="dialog" aria-hidden="true"> \ 
        <div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button></div> \
        <div class="modal-body"></div> \
        <div class="modal-footer"><button class="btn" data-dismiss="modal">Close</button></div> \
    </div>'
);

$('.device').click(function(){
    $('body').append(customModal);
    $(this).find($('h3')).clone().appendTo('.custom-modal .modal-header');
    $(this).find('.device-product, .device-details').clone().appendTo('.custom-modal .modal-body');
    $('.custom-modal.hide').show();
    $('.custom-modal').modal();
});

 $('.custom-modal').on('hidden', function(){
    $(this).remove();
});

所以实际上这只是我正在努力解决的remove() 问题。而且,任何关于我是否以错误/低效的方式处理这件事的评论总是对学习有帮助!


您正在尝试绑定事件处理程序hidden之前的事件.custom-modaldiv 被添加到 DOM,因此事件处理程序永远不会绑定到任何东西。

您可以通过两种方式执行此操作。

  1. 委托hidden事件处理程序,以便文档始终监听hidden源自任何具有自定义模式类的元素的事件:

    $(document).on('hidden', '.custom-modal', function () {
        $(this).remove();
    });
    
  2. 将模态 div 添加到 DOM 后绑定事件处理程序:

    $('.device').click(function(){
        // Push the modal markup into the DOM
        $('body').append(customModal);
    
        // Now that it's in the DOM we can find it and bind an event handler
        $('.custom-modal').on('hidden', function () {
            $(this).remove();
        });
    
        // Continue with other init tasks
        $(this).find('h3').clone().appendTo('.custom-modal .modal-header');
        $(this).find('.device-product, .device-details').clone().appendTo('.custom-modal .modal-body');
        $('.custom-modal.hide').show();
        $('.custom-modal').modal();
    });
    

选项 1 更可取,特别是当有可能打开多个模式时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除通过 jQuery 插入的引导模式? 的相关文章

  • 当位置从相对固定变为固定时,div 的宽度会发生变化

    当 div topNav 的位置样式从相对更改为固定时 其宽度会更改几个像素 我找到了一个 jquery 插件 http imakewebthings github com jquery waypoints 它可以优雅地执行我正在寻找的相同
  • 在 GeoJson 数据接收到的 Google 地图多边形上放置标签

    我想将带有信息的标签 或带有标签的 div 放在由下面的代码片段绘制的多边形上 样式属性已成功应用于要素 多边形类型 有谁知道如何向该特征添加文本并将其显示在多边形的中心 function handleGeoJson data map da
  • 垂直滚动,与 div/元素/锚点对齐/对齐

    我发现了一些可爱的网站 http www mini jp event campaign big point http www mini jp event campaign big point http www twenty8twelve c
  • 基于 ajax 的弹出窗口中的 Mathjax + CKEditor 4 + CKEditor

    我已经配置了 CKEditor 4 并且我的页面上有以下内容 我的页面中有一个 CKEditor 设置值的两个选项 这两个选项本身分别选项两个基于 ajax 的弹出窗口 这些基于 ajax 的弹出窗口包含 CKEditor 现在我有以下问题
  • jQuery/JavaScript:仅选择子级的第一个“层”

    我试图仅选择给定类型的子元素的第一 层 而不选择嵌套在另一个限定元素内的元素 例如 在 div div class special div class special div div div div class special div di
  • 使用客户端脚本处理 RadioButtonList

    我有一个 ASP RadioButtonList 我想在客户端处理它 该网页包含一个带有单选按钮组和关联的 GridView 的表单 当用户选择单选按钮之一时 我想隐藏或显示 GridView 上的行 这些行必须隐藏 而不是通过回发从数据集
  • 如何在javascript中重命名从window.open()下载的文件?

    我最近偶然发现这个 JSFiddle 关于如何将表格转换为 Excel https jsfiddle net lesson8 jWAJ7 直接文件 无需任何花哨的插件 它确实适合我的需要 但它有一个缺陷 我无法重命名它的文件 Chrome
  • 我们如何从长字符串中提取字符串的特定部分?

    我有一个 HTML 源代码 其中包含手机号码 我想从源代码中提取电话号码 每个电话号码都有开始和结束标志 假设 HTML 代码示例是 每个手机号码都以 phone 开头 以 结尾 如下所示 code b2e1d163b0b div clas
  • 使用数据表和 jQuery Ui 对话框的“oCol 未定义”

    我有一个表格 用于搜索注册表 此表格显示信息jQuery Dialog 并且 在对话框内部 我正在使用Datatables 是的 在对话框内部我有一整张桌子 我使用 PHP 动态生成 TR 和 TD 然后 PHP 将字符串粘贴到 HTML
  • Jqgrid - window.bind 事件不允许在 IE8 中调整列大小

    对于 IE8 中的 Jqgrid 当我将调整大小事件绑定到窗口时 列调整大小不起作用 当我单击要调整大小的列时 它显示调整大小标志但不执行任何操作 我目前使用的是jqgrid 4 4 1版本 当我使用4 1 2相同的代码时没有遇到这个问题
  • 如何显示隐藏前一个模式的新模式窗口?

    Using 鼓室网 http tympanus net codrops 2013 06 25 nifty modal window effects 模态 带有很棒的动画 很容易删除背景 div div class md overlay di
  • 使用 CSS 和 JQuery 创建组织结构图结构

    I was checking on stack forum Trees in Twitter Bootstrap https stackoverflow com questions 11167628 trees in twitter boo
  • 如何使用鼠标单击选择多个项目?

    This is the default jQueryUI display as a Grid Layouts demo here http jqueryui com demos selectable display grid I can s
  • 如何获取 CSS 旋转元素的实际(非原始)高度

    我需要获取几个不同元素的实际高度 为了精确的自定义工具提示定位 并且其中一些元素 不是全部 被旋转 elem outerHeight 返回原始高度 而不是实际显示的高度 这是一个非常简单的例子 http jsfiddle net NPC42
  • 使用西里尔字母的正则表达式

    我有一个用于文本区域字段中字数统计的 jQuery 函数 此外 它排除所有用 三重括号 封闭的单词 它对于拉丁字符效果很好 但对于西里尔字母句子有问题 我认为错误部分与正则表达式有关 field val replace g match b
  • JQuery Slide切换显示类型

    我使用 jQuery SlideToggle 来显示隐藏的表格行 但它将显示样式设置为阻止 我需要显示表格行 我有什么想法可以做到这一点吗 提前致谢 我找到了解决此问题的方法 检查显示是否已设置为阻止 如果元素已切换为显示 如果是 则设置为
  • 如何从回调函数中获取值

    我对 javascript 比较陌生 并且面临一些困难 我有两个 java 脚本文件 如下所示 我无法获取变量的值条目标题在 getRss 函数内并将其存储在变量内Rss1 标题 and Rss2 标题 创建一个全局变量并将其分配给条目标题
  • 不明白为什么 Chrome/Safari 无法在此处获取 ScrollHeight

    我只是问了一个问题 为什么某些 js 代码不能 100 在 Chrome 和 Safari 中工作 但经过更多故障排除后 我想我发现这是我应该发布的问题 我有一个页面 其中有一个表单 该表单的目标是同一页面上的 iframe iframe
  • 如何检查 URL 末尾是否有特定字符串

    我需要根据 URL 末尾的内容让覆盖层向下滑动 如果 URL 末尾有 faq 覆盖层下降 如何在 jQuery JavaScript 中做到这一点 如果您的网址看起来像这样http yourdomain com faq 你可以这样做 var
  • 如何获取td表的实际宽度

    我在 html 中创建一个表 这个table宽度为 988 像素 tr宽度为 100 table width 表标签中存在 5 个td标记这个td标签宽度 20 当我使用 jQuery 处理这些标签时 td标签 在控制台中向我显示 198

随机推荐