#javascript #jquery #tooltip #internet-explorer-11
#javascript #jquery #всплывающая подсказка #internet-explorer-11
Вопрос:
пожалуйста, помогите решить следующую проблему. Я пытаюсь отобразить несколько всплывающих подсказок при нажатии кнопки и скрыть их при втором нажатии кнопки. По какой-то причине я не могу сделать это в IE 11. В примере, который я предоставляю, я могу отлично отображать их при загрузке страницы по умолчанию. Как только я пытаюсь сделать это по щелчку (код закомментирован), ничего не происходит.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h3>Demo</h3>
<a href="#" data-toggle="tooltip" title="Tooltip is visible!">Tooltip will be visible here</a>
<a href="#" data-toggle="tooltip" title="Tooltip is visible!">Tooltip will be visible here</a>
<div>
<button type="button" class="btn btn-primary">Show Tooltip</button>
<button type="button" class="btn btn-default">Hide Tooltip</button>
</div>
</div>
<script>
//works fine I can see tooltips by default
$("[data-toggle='tooltip']").tooltip();
$("[data-toggle='tooltip']").tooltip('show');
$(document).ready(function () {
$(".btn-primary").click(function () {
// doesn't work for some reson
// $("[data-toggle='tooltip']").tooltip();
// $("[data-toggle='tooltip']").tooltip('show');
});
$(".btn-default").click(function(){
$("[data-toggle='tooltip']").tooltip();
$("[data-toggle='tooltip']").tooltip('hide');
});
});
</script>
</body>
</html>
Комментарии:
1. так это работает в реальных браузерах? есть ли какие-либо ошибки в консоли инструментов разработчика вашего так называемого браузера?
2. И что происходит… определите «не работает» более подробно
3. @JaromandaX Вернуться к проблемам с браузером, работающим в Steam , да? 🙂
4. Я отредактировал свой вопрос. Я не вижу никаких ошибок в консоли моего браузера. Я ожидаю увидеть 2 всплывающие подсказки при нажатии кнопки и ожидать, что они исчезнут при нажатии кнопки скрыть. да, это работает в Chrome.
Ответ №1:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h3>Demo</h3>
<a href="#" data-toggle="tooltip" title="Tooltip is visible!">Tooltip will be visible here</a>
<a href="#" data-toggle="tooltip" title="Tooltip is visible!">Tooltip will be visible here</a>
<div>
<button type="button" class="btn btn-primary">Show Tooltip</button>
<button type="button" class="btn btn-default">Hide Tooltip</button>
</div>
</div>
<script>
//make sure to comment this lines
//works fine I can see tooltips by default
// $("[data-toggle='tooltip']").tooltip();
// $("[data-toggle='tooltip']").tooltip('show');
$(document).ready(function () {
$(".btn-primary").click(function () {
// works fine on IE11
$("[data-toggle='tooltip']").tooltip();
$("[data-toggle='tooltip']").tooltip('show');
});
$(".btn-default").click(function(){
$("[data-toggle='tooltip']").tooltip();
$("[data-toggle='tooltip']").tooltip('hide');
});
});
</script>
</body>
</html>
Комментарии:
1. ДА. это должно сработать. однако в IE 11 это не работает. и это очень расстраивает.
2. Попробуйте использовать приведенный выше фрагмент, который я только что проверил в IE 11.
3. Теперь это работает. Я считаю, что проблема была не в браузере, а на странице макета моего проекта.
4. Следует предоставить объяснение того, что было изменено и почему … не только в комментариях, чтобы всем читателям сразу стало ясно