如何在鼠标悬停iframe时显示工具提示

时间:2013-04-15 16:58:46

标签: javascript jquery iframe telerik tooltip

我正在使用Telerik Radeditor,它是一个富文本区域,编辑器内容是iframe,如下所示:

 <iframe frameborder="0" 
    src="javascript:'<html></html>';" 
    style="width: 100%; height: 100%; margin: 0px; padding: 0px;" 
    title="hello world" 
    id="contentIframe"></iframe>

我的目标是在用户鼠标悬停iframe区域时显示"hello world"工具提示。

正如你所看到的,我放了"title" attribute,但它没有出现。

为了模仿工具提示行为,我尝试放置overlay divtitle,但是由于overlay div,我失去了鼠标控制权。

我也拼命尝试将标题放入iframe主体,但之后我不得不点击iframe内部来实现,这不是解决方案。

var iframe_html = $(wrapper).find("iframe").contents().find("html");
$(iframe_html).prop("title", "hello my tooltip 1");
var iframe = $(wrapper).find('iframe');
$(iframe).prop("title", "hello my tooltip 2");
var iframebody = $(iframe).contents().find('body');
$(iframebody).prop("title", "hello my tooltip 3");

我正在使用jQuery UI 1.8.16,但它不具备Tooltip功能,因此不能作为选项..

有人可以帮我弄清楚如何显示工具提示吗?

2 个答案:

答案 0 :(得分:1)

您可以为iframe分配标题,但是您无法在iframe中看到它。将frameborder更改为“2”并将光标移动到它..你去了..标题出现..

要在iframe上查看标题,您必须设置iframe内容的标题,而不是iframe本身..

就像我在下面做的那样..

<iframe frameborder="0" 
    src="javascript:'<div id=\'hey\' title=\'Hello World\'>Helllo World</div>';" 
    style="width: 100%; height: 100%; margin: 0px; padding: 0px;position:relative;" 
    title="hello world" 
    id="contentIframe">
</iframe>

可替换地.. 使用jQuery

$(document).ready(function () {    
    $("#contentIframe").contents().find("body").attr('title','Hello World');    
});

This is a fiddle for your reference..

答案 1 :(得分:0)

我刚刚在w3学校的tooltip教程(TryIt编辑器here)中向div添加了一个iframe,它运行良好。令我惊讶的是。

<!DOCTYPE html>
<html>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: #994444;
    color: #ffffff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;

    /* Position the tooltip */
    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    margin-left: -60px;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}
</style>
<body style="text-align:center;">

<h2>Proof of Concept</h2>
<p>This, cobbled from the W3 schools tutorial on CSS tooltips.  I added an Iframe inside the div; one may still interact therewith, yet enjoy full tooltipitude.</p>
<p> So, move the mouse over the text below:</p>

<div class="tooltip">Hover over me
  <span class="tooltiptext">Hello World</span>
  <iframe height="600px" src="https://imgur.com/a/71J1gQZ" width="600px" ></iframe>
</div>

</body>
</html>

在此处实时查看:

https://faustsstudy.blogspot.com/p/blog-page_14.html

但是它需要支持数据URI。