tooltip на подгружаемых елементах
Всем доброго времени суток :)
У меня такая задача возникла, если кто знает как это решить, помогите. Вот в чем суть. Есть виджет tooltip ( http://jqueryui.com/tooltip/ ), но он не срабатывает на елементах, которые были подгружены скриптами уже после основной загрузки страницы. Делал так: Код:
$(document).on('hover','.tooltip',function(){Код:
$(document).on('hover','.tooltip',function(){Вообщем одна надежда на вас :) |
Код виджета тут ни при чем. После загрузки новых элементов нужно навесить на них тултип:
html код: <div> <a href="/somepath1">link1></a> <a href="/somepath2">link2></a> </div> ajax запрос
$.ajax({
url:'your url',
data : {key1:value1,key2:value2,.....},
success:function(data) {// коллбэк
//допустим тут пришел наш html
var newdata = $(data).find('a').tooltip(); //вешаем тултип
$('body').append(newdata );//вставляем в боди(или куда хочешь)
}
})
|
Во, а ларчик просто открывался, спасибо большое.
Только я сделал так: ..... success: function(data){ $('.tooltip').tooltip(); } что сути конечно не меняет. Большое спасибо за помощь KRASOVSKY :thanks: |
Цитата:
|
Цитата:
|
Цитата:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>tooltip demo</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
<p>
<textarea id="test" name="">
<div>
<a href="/somepath1" title="help">link1></a>
<a href="/somepath2" title="help">link2></a>
</div>
</textarea>
<a href="#" title="Anchor description">Anchor text</a>
</p>
<script>
$('a').tooltip(); // title="Anchor description">
var data = $('textarea').val()
var newdata = $(data).find('a').tooltip(); //вешаем тултип title="help"
$('body').append(newdata);//вставляем в боди(или куда хочешь)
</script>
</body>
</html>
|
ВЕТЕРАН, спасибо что объяснили, теперь понятно, во-первых скрипту ненужно обходить опять весь документ, во-вторых не возникнут возможные проблемы с повторной инициализацией, ну короче понятно, нужно обработать только полученный кусок кода.
Еще хочу поделиться с одним нюансом, с которым я столкнулся. Допустим аякс запрос возвращает данные в таком виде: Код:
<li>Код:
var newdata = $(data).find('.tooltip').tooltip();Я сделал так: Код:
var newdata = $(data).tooltip(); |
Тебе тултип нужно вешать именно туда куда нужно а не на контейнер в котором лежат имги.
Попробуй так
var newdata = $(data);// вот вся дата
newdata.find('.tooltip').tooltip();// ищем в ней нужные элементы (имг) и ставим тултип
$('body').append(newdata);
|
Во, теперь точное попадание, сделал, все работает. Большое спасибо, KRASOVSKY :thanks:
|
Позязя
|
| Часовой пояс GMT +3, время: 18:26. |