Я пытаюсь получить простой hover
чтобы работать на специальном символе в качестве селектора.
Я использую специальный символ с double-daggers
(‡ ‡
)
ASCII 8225 и хотите, чтобы они функционировали как подсказка, но у меня возникли проблемы с тем, чтобы заставить их запускать событие.
JSFiddle здесь с помощью действия click вместо зависания для простоты:
Что мне не хватает? Я чувствую, что это должно быть просто.
Может быть, это только конец рабочего дня.
Вы рассматривали использование виджета jQueryUI tooltip?
Это позволяет вам установить любой элемент для всплывающей подсказки, просто указав title="Text for the tooltip goes here"
атрибут title="Text for the tooltip goes here"
.
Образец кода:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
<script type="text/javascript">
$(document).ready(function() {
$( document ).tooltip();
});
</script>
</head>
<body>
<p>Using your daggar<span title="This is a tooltip">‡</span> symbol.</p>
<p><a href="#" title="That what this widget is">Tooltips</a> can be attached to any element. When you hover
the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.</p>
<p>But as it not a native tooltip, it can be styled. Any themes built with
<a href="http://themeroller.com" title="ThemeRoller: jQuery UI theme builder application">ThemeRoller</a>
will also style tooltips accordingly.</p>
<p>Tooltips are also useful for form elements, to show some additional information in the context of each field.</p>
<p><label for="age">Your age:</label><input id="age" title="We ask for your age only for statistical purposes." /></p>
<p>Hover the field to see the tooltip.</p>
</body>
</html>
Вы не можете сделать селектор, который находит символ, потому что селектор может находить только элементы.
Оберните символ в элемент, который вы можете настроить. Пример:
<span id="asdf">‡</span>
Затем вы можете найти элемент:
$("#asdf").click(function() { alert('hovered'); });
Селекторы CSS нацелены на элементы DOM. Вы не можете выбрать только текст с ними, и поэтому вы не можете добраться до него с помощью jQuery. Вам нужно обернуть его тегом <span>
:
http://jsfiddle.net/BYossarian/xdS7V/3/
HTML:
<span class="tooltip">‡</span>
JQuery:
$(".tooltip").click(function() {
console.log('clicked');
});
$ ("‡") не является законным селектором jQuery. Попробуйте обернуть его в промежутке с классом, а затем выберите его.
<span class="tooltip">‡</span>
$(".tooltip").click(function() { alert('clicked'); });
Как и все остальные ответы о том, чтобы положить его в промежуток, но вы можете выбрать его с помощью чисто контента...
$("span").filter(function() {
return this.innerText == "‡";
}).on("mouseover", function() { alert('hovered'); });