【发布时间】:2020-02-08 11:25:27
【问题描述】:
在this example 之后,我尝试实现一个隐藏的回调函数,但是虽然show 回调工作得很好,但没有办法让hidden 回调工作。有人可以解释为什么会这样吗?
我创建了this fiddle 来复制问题。
$(document).ready(function() {
var showCb = $.fn.popover.Constructor.prototype.show;
$.fn.popover.Constructor.prototype.show = function () {
showCb.call(this);
if (this.options.showCb) {
this.options.showCb();
}
}
var hiddenCb = $.fn.popover.Constructor.prototype.hidden;
$.fn.popover.Constructor.prototype.hidden = function () {
hiddenCb.call(this);
if (this.options.hiddenCb) {
this.options.hiddenCb();
}
}
$("[data-toggle=popover]").popover({
showCb: function() {
alert('showCb');
},
hiddenCb: function() {
alert('hiddenCb');
}
});
})
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<div class="container">
<h3>Popover Example</h3>
<a href="#" data-toggle="popover" title="Popover Header" data-content="Some content inside the popover">Toggle popover</a>
</div>
更新
我创建了一个新的 jsFiddle 来展示 Christos 的第二个 sn-p 应用于 Bootstrap 的 jQBTK 插件。这个插件利用 Bootstrap 的 Popovers 来创建一个虚拟键盘。 问题:事件绑定到动态创建的对象,因此它们会触发多次。如何优化?
【问题讨论】:
-
如果我更新的答案有效,你试过了吗?
-
@ChristosLytras 部分...我昨天晚上开始测试,在我的页面中点击触发器似乎不起作用,与配置的其他点击事件一定有冲突...所以我刚刚管理使其与手动触发器一起使用。
标签: javascript twitter-bootstrap-3 callback bootstrap-popover