<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
</head>
<body>
<div class="container" style="margin-top: 20px">
<p>GitHub Issue:
<a target="_blank" href="https://github.com/twbs/bootstrap/issues/23525">https://github.com/twbs/bootstrap/issues/23525</a>
</p>
<h4>Problem</h4>
<p>
When calling <code>disable()</code>
then <code>enable()</code> on a popover,
the popover needs two clicks to open
<strong>if</strong> the user has clicked the popover target in between the calls.
</p>
<h4>Reproduce the Problem</h4>
<ul>
<li>Click disable()</li>
<li>Click popover to make sure it's disabled</li>
<li>Click enable()</li>
<li>
Click popover to make sure it's enabled —
<strong>it is, but it takes two clicks to
show the popover</strong>
</li>
</ul>
<div class="form-group">
<button class="btn btn-lg btn-primary"
id="example"
data-title="Popover Example"
data-content="Foo bar">
Popover
</button>
</div>
<div class="form-group">
<button class="btn btn-sm btn-secondary"
id="enable">
enable()
</button>
<button class="btn btn-sm btn-secondary"
id="disable">
disable()
</button>
<button class="btn btn-sm btn-secondary"
id="toggleEnabled">
toggleEnabled()
</button>
</div>
<p>
Note the problem does not occur if the user
doesn't click on the popover target
in between the calls.
</p>
<p class="text-muted">
Reproduced on: <br>
macOs 10.12.6
<br>
Chrome 60.0.3112.90
and Safari Version 10.1.2 (12603.3.8)
</p>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
var $example = $('#example');
var $enable = $('#enable');
var $disable = $('#disable');
var $toggleEnabled = $('#toggleEnabled');
var enable = function() {
$example.popover('enable');
}
var disable = function() {
$example.popover('disable');
}
var toggleEnabled = function() {
$example.popover('toggleEnabled');
}
$enable.click(enable);
$disable.click(disable);
$toggleEnabled.click(toggleEnabled);
$example.popover();
})
</script>
</body>
</html>
// Code goes here
/* Styles go here */