- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到了使用 <button>
正确关闭 bootstrap 3 弹出窗口的问题元素。
需要做的是,当点击新按钮或点击现有按钮的焦点时,弹出框应该关闭。
这在一定程度上起作用,我的意思是按钮确实隐藏但未正确关闭。所以如果有按钮 x y z
我通过单击 x
启动实例弹出显示正确。
现在接下来点击...说z
. x
将隐藏和z
会显示。
到目前为止还不错吧?
当我再次点击 x
时会发生什么它完全关闭按钮(无显示),随后单击将显示 x
.
简而言之,虽然单击关闭焦点隐藏了弹出窗口,但它并没有完全关闭它。导致双击按钮再次显示它,而不是单击一次。
引用下面的 html 和 js:
HTML
<button type="button" class="btn btn-default videos-popover-button" href="#" data-container="body" data-toggle="popover" data-trigger="click" data-placement="bottom" data-html="true" data-content='
<p>{{{description}}}</p>
<form class="video-favorite-mobile">
<input type="checkbox" checked="" name="favorite" value="favorite">
</form>
<form class="video-queue-mobile">
<input type="checkbox" checked="" name="queue" value="queue">
</form>
<a href="{{link}}" title="{{name}}" data-video-width="{{width}}" data-video-height="{{height}}" data-description="{{description}}"{{#allow_downloads}}{{#download}} data-download-{{quality}}="{{link}}"{{/download}}{{/allow_downloads}}>watch now</a>'
data-trigger="focus" href="#" style="cursor: pointer;">
<img alt="{{name}}" src="{{thumbnail_large}}">
<div class="video-gallery-single">
<p>{{{description}}}</p>
</div>
<div class="video-gallery-bottom">
<form class="video-favorite">
<input type="checkbox" checked="" name="favorite" value="favorite"
data-toggle='tooltip' data-placement='bottom'
data-original-title='add to favorites'>
</form>
<form class="video-queue">
<input type="checkbox" checked="" name="queue" value="queue"
data-toggle='tooltip' data-placement='bottom'
data-original-title='add to queue'>
</form>
<a href="{{link}}" title="{{name}}" data-video-width="{{width}}" data-video-height="{{height}}" data-description="{{description}}"{{#allow_downloads}}{{#download}} data-download-{{quality}}="{{link}}"{{/download}}{{/allow_downloads}}>watch now</a>
</div>
</button>
js
jQuery(document).ready(function($) {
$('body').on('click', function (e) {
$('[data-toggle="popover"]').each(function () {
//the 'is' for buttons that trigger popups
//the 'has' for icons within a button that triggers a popup
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
$(this).popover('hide');
}
});
});
});
最佳答案
是否需要data-trigger="click"
?
如果你设置data-trigger
至 focus
,您应该能够在点击远离它时关闭弹出窗口而无需任何额外的 javascript(除非您正在寻找不同的行为)。
Bootstrap documentation: Dismissible popover
编辑:
您的评论:
“尝试使用 data-trigger="focus"它会破坏移动浏览器(尤其是 iOS)的功能。”
您正在使用 button
弹出框触发器的元素。这是文档中的内容:
Specific markup required for dismiss-on-next-click For proper cross-browser and cross-platform behavior, you must use the
<a>
tag, not the<button>
tag, and you also must include therole="button"
andtabindex
attributes.
关于javascript - Button 上的 Bootstrap 3 Popover 未正确关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34663959/
这里是 sandbox Antd pop over 正如您在示例中看到的,当您单击任意位置时,popover自动关闭。我想禁用该东西并仅通过单击按钮将其关闭。 我在 Popover 中没有看到这样的选
我在 gridview 更新、排序、分页方面遇到错误。页面加载时,网格通过 AJAX 正常加载。但是,在单击标题对行进行排序或单击任何分页按钮时,我收到一条错误消息: Uncaught Typ
我有一个标准的 Ionic 4 页面(主页),它创建一个使用组件(BusinessDetails)和一个重定向到新页面(RequestTurn)的按钮的弹出窗口。但是,当我单击该按钮时,弹出窗口不会消
我为 bootstrap twitter 库调用了 js 文件,但我得到了指示的错误 $("a[rel=popover]").popover is not a function .
Apple 的“移动人机界面指南”是关于弹出框的: When possible, allow people to close one popover and open a new one with o
如果 .popover() 之后变成 .on('hidden.bs.popover'),我想'销毁'是 .on('shown.bs.popover' 所以它不会再 'show' 。一切似乎都正确,但看
我将 emberjs 与 twitter-bootstrap 一起使用,但只有 css,所以没有从 bootstrap 获取的 javascript。 我想让 popover 工作,它弹出了,但是 p
我正在使用 twitter bootstrap 在社交媒体上分享我的帖子,我创建了一个链接,其弹出窗口带有一些按钮内容,但是当我进一步点击弹出窗口中的按钮时,它们的弹出窗口功能不起作用。 Share
我有一些动态加载到包含弹出窗口的网页上的内容。出于这个原因,我必须将它们绑定(bind)到 body 上,以便它们正确加载和显示。 我想找到一种方法来在用户点击弹出窗口外或另一个弹出窗口触发器时隐
当用户点击弹出窗口外的任何地方时,我试图隐藏 Bootstrap 弹出窗口。 (我真的不确定为什么 Bootstrap 的创建者决定不提供此功能。) 我找到了以下代码 on the web但我真的不明
这里是material-ui的例子https://material-ui.com/utils/popover/#mouse-over-interaction 按照示例 material-ui 的这些步
我在表单中使用 Bootstrap 弹出窗口来显示一些仅适用于某些用户的可选选择。我注意到一个问题,即一旦弹出窗口关闭,表单选择(是或否单选按钮选项)就会丢失,并且 2 个单选按钮的表单输入不包含在表
当popover 出现 时如何显示背景,而当popover 消失 时如何显示背景? $(function(){ var content = 'Pay Now Activation Cod
jsFiddle:http://jsfiddle.net/kAYyR/ 截图: 这是有效的: 点击按钮打开弹出框 在弹出框外点击关闭弹出框 点击 .close 按钮关闭弹出窗口 但是...当您再次单击
当尝试使用此模板在一行中显示弹出窗口时: Here we go: Show me popover with html 并通过添加 CSS 类,例如: myClass { white
首先,问题的 fiddle :jsfiddle.net 我正在使用一个弹出窗口,它的内容是 html,一个类为“click_me”的按钮。我有 jquery 来监听对“click_me”的点击,它应该
当使用弹出窗口API时,我想,当轻关闭发生时,停止弹出窗口关闭,并运行自定义js从屏幕上删除弹出窗口。。有办法做到这一点吗?。我试着这么做,但没成功。。。
我有一个表格,每个单元格都有一个弹出框,如下例所示: 对 popover 的调用: 0, 'edited' : i.edited, 'final-installment' : i.last }" p
我的 Storyboard使用 UINavigationController(VC0),我使用 UIPopover 来加载新的 UIViewController (VC1)。从这个新的 UIViewC
这个问题在这里已经有了答案: iOS 13 - UIPopoverPresentationController sourceview content visible in the arrow (9
我是一名优秀的程序员,十分优秀!