Я знаю, что это почти год, но я просто искал что-то подобное и думал, что опубликую свои выводы. Я не совсем уверен, что вы после, и это может отличаться от того, что у меня есть, но я предполагаю, что вы хотели применить qTip к некоторым элементам в динамически загруженном <iframe>
, как я сделал.
Это не решает проблему live()
, хотя согласно Добавление строки в таблицу в iFrame с помощью jQuery (live?) должно работать, но вот что я закончил:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
iframe {
border:1px dashed red;
}
</style>
<link rel="stylesheet" type="text/css" href="jquery.qtip.min.css"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script src="jquery.qtip.min.js"></script>
<script type="text/javascript">
$(function() {
$('p a.tip').qtip({
content: 'foo'
});
$('iframe').load(function() {
var position = $(this).position();
var top = position.top;
var left = position.left;
$(this.contentDocument).find('p a.tip').qtip({
content: 'bar',
position: { adjust: { x:left, y:top } }
});
});
$('#click').click(function(){
$('iframe').attr('src', 'test.html');
return false;
});
});
</script>
</head>
<body>
<p><a class="tip" href="#">Lorem ipsum dolor</a> sit amet, consectetur adipiscing elit.</a></p>
<iframe></iframe>
<p><a href="#" id="click">Load iFrame</a></p>
</body>
</html>
где test.html содержит:
<p><a class="tip" href="#">Duis massa metus</a>, convallis vitae, mollis vel, feugiat vitae, nunc.</p>
и вы можете получить jquery.qtip.min.css
и jquery.qtip.min.js
из qTip2 .
Редактировать: убедитесь, что страница загружена в ваш браузер с веб-сервера (а не загружен как локальный файл), чтобы избежать политики Same origin .
Надеюсь, это кому-нибудь пригодится! : -)