- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用一个名为“bPopup”的轻量级 jQuery 弹出式插件。我现在在我的网站上使用它来在单击时加载多个弹出窗口。我最近被告知我的代码效率低下,因为我使用多个 JavaScript“监听器”加载多个弹出窗口,即:
<script type="text/javascript">
;(function($) {
$(function() {
$('#my-button_1').bind('click', function(e) {
e.preventDefault();
$('#element_to_pop_up_32754925023').bPopup();
});
});
})(jQuery);
</script>
<script type="text/javascript">
;(function($) {
$(function() {
$('#my-button_2').bind('click', function(e) {
e.preventDefault();
$('#element_to_pop_up_95031153149').bPopup();
});
});
})(jQuery);
^^ 多个 JavaScript“监听器”。并且,对于弹出窗口:
<!-- Button that triggers the popup -->
<a class="main" id="my-button_1" href="#">Popup 1</a></b><br />
<!-- Element to pop up -->
<div id="element_to_pop_up_1">
// ...
</div>
<!-- Button that triggers the popup -->
<a class="main" id="my-button_1" href="#">Popup 1</a></b><br />
<!-- Element to pop up -->
<div id="element_to_pop_up_1">
// ...
</div>
他可能是对的(确信),但不确定如何实现,或者这是否可能(他错的可能性很小)。
帮助?谢谢!
最佳答案
因为您使用的是 jquery,所以您应该使用它的 on() method将单个监听器附加到父 DOM 元素,并使用选择器参数将事件正确地委托(delegate)给它的子元素(按钮/弹出窗口)。
如果这听起来令人困惑,一个简单的例子可能会有所帮助:
HTML:
<div id="parent">
<a href="popup1" class="button">Show popup 1</a>
<div id="popup1" class="popup">1</div>
<a href="popup2" class="button">Show popup 2</a>
<div id="popup2" class="popup">2</div>
<a href="popup3" class="button">Show popup 3</a>
<div id="popup3" class="popup">3</div>
<a href="http://www.google.com/" target="_blank">Non-popup link</a>
</div>
JS:
$('#parent').on('click', 'a.button', function (event) {
event.stopPropagation();
event.preventDefault();
var popup = $(this).attr('href');
$('#'+popup).bPopup();
});
这会在父元素上添加一个事件监听器,只有在触发事件的子元素与选择器匹配时才会触发该事件监听器(在本例中为 a.button
)。它通过从 href
属性中检索弹出窗口的 ID 来确定要显示的弹出窗口。
关于javascript - bpopup 多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881217/
我的页面上有一个使用 bPopup ( http://dinbror.dk/blog/bpopup/ ) 插件的弹出 div,一切正常,但我希望当用户使用鼠标单击或在移动设备触摸时关闭弹出窗口在弹出
我正在尝试使用 bpopup 显示一个表单,但是我无法使内容适合,尤其是在调整窗口大小时看起来不对。 http://www.fundatiacarmengolea.ro , 单击“Formula de
我试图在单击图像时打开弹出窗口,而不是在单击按钮时打开。怎么做到的? 它是一种画廊类型的东西,图像被分类加载,当点击图像时,会出现一个 bpopup 并显示产品的详细信息 我试过了,请检查 fiddl
我正在使用一个名为“bPopup”的轻量级 jQuery 弹出式插件。我现在在我的网站上使用它来在单击时加载多个弹出窗口。我最近被告知我的代码效率低下,因为我使用多个 JavaScript“监听器”加
我想使用 bPopup jQuery 插件创建一个弹出窗口,并将其放置在屏幕的右下角。 bPopup 有一个名为“position”的选项,但它仅使用顶部和左侧坐标。 我可以在 CSS 中设置位置并使
我有一个ajax调用来获取文件上传的进度条。这很好用。我尝试添加一行让 bPopup 之后打开图像,但我无法让它工作。 这是我的 JavaScript: ajax.addEventListener("
所以我尝试使用 bPopup 作为模态窗口,但我看不到弹出实际的模态窗口。我按照文档上的说明进行操作(请参阅 http://dinbror.dk/bpopup/ ),但我似乎无法让它出现。我错过了什么
我正在使用 bPopup 插件在两个单独的页面上打开 iframe。 我编写了一个小脚本,用于创建 iframe 并“弹出它”。我的两个页面都引用了相同的脚本(确切的 URL 等): jQuery('
我对 jquery 及其相关知识非常菜鸟。我只临时做了一页,所以我迷路了。我需要将 iframe 显示为弹出窗口。怎么做? 我尝试了 bpopup: index.html 就像: POP IT UP
回调事件不会在通过模态、关闭按钮和 esc 关闭弹出窗口时触发 我已经尝试将其添加到准备就绪的文档中,并且在单击触发器时它们都起作用了 $('.flipvideowrap').bind('click
我正在尝试在我的 xhtml 页面中使用 bpopup 示例之一,我已经尝试了所有我能想到的方法,但它不起作用。 bpopup(jQuery 插件),code example 这是我到目前为止的尝试.
我正在使用 bPopup 在弹出容器中打开一个页面。现在,弹出页面中有一个链接,我想在已经打开的 bPopup 容器中打开新页面。在 anchor 标记中分配新页面链接会在父窗口中打开新页面。我还在弹
我已经尝试了所有我能想到的 - 包括每个 bpopup 和 jquery javascript 文件,甚至是我在一个示例中找到的 .json 文件,但似乎无法让这个东西工作。我将所有脚本文件都包含在与
我正在尝试使用 bPopup 插件创建一个模型窗口。我认为我不明白的是如何使 loadUrl 成为变量。我无法更改标记。问题是因为它是相对 url 并且不完全限定吗?我确实尝试了 loadUrl:'h
我创建了一个使用 jQuery 插件加载 .php 站点的弹出窗口:bpopup . 问题是插件不会加载用 php 编码的网站。谁能告诉我哪里有问题? 这是我正在使用的代码: JavaScript:
我们通过循环查询并添加当前行,在 ColdFusion 页面(internshiphandleX、internshipHiddenX 等)中动态构建了一个配对 div 列表,例如: 我们想要绑定(b
我正在使用 ngWYSIWYG - Angular 真正的富文本编辑器 http://psergus.github.io/ngWYSIWYG/在 bpopup 内部,但它无法编辑 $scope.ed
我想知道是否可以让我的 bPopup 显示在触发弹出窗口的每个链接下方? 我的代码: ;(function($) { $(function() { $('.notesbutto
好吧,这个故事有点长,但希望你能忍受我,这样问题的背景就可以了: 我正在使用 ASP.NET 开发门户网站的注册部分,为了让事情变得美好,我决定使用 here 中的 bPopup将注册页面加载到调用页
我是一名优秀的程序员,十分优秀!