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, время: 14:16. |