twitter bootstrap的工具提示问题

时间:2015-01-07 16:11:01

标签: javascript jquery css twitter-bootstrap twitter-bootstrap-3

我使用twitter bootstrap 3来显示tooltip

<td class = "skills" data-toggle="tooltip" data-placement="left" data-original-title="<?php echo $row['skills']; ?>"><?php echo $row['skills']; ?></td>

它显示得很好但是当我将鼠标悬停在它上面时,它会将每个单元格移动到右边。

如何解决这个问题?

enter image description here

我附上了两张快照,你可以看到它向右移动。

修改

我在这里添加测试表,它做了什么,在下一个td中显示工具提示,并且td的数据向右移动。

<table id="example-table" class="table table-striped table-hover table-condensed">
    <thead>
        <th>Serial</th>
        <th>Name</th>
        <th>Rating</th>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
          <td data-toggle="tooltip" data-placement="right" data-original-title="A">A</td>
          <td>php</td>
        </tr><tr>
          <td>2</td>
          <td data-toggle="tooltip" data-placement="right" data-original-title="B">B</td>
          <td>C#</td>
        </tr>
      </tbody>
    </table>

这里是js

 <script type="text/javascript">
    $(document).ready(function(){
        $('[data-toggle="tooltip"]').tooltip();   
    });
 </script>

5 个答案:

答案 0 :(得分:5)

我找到了解决方案,只是发布在这里,以便有一天有人可能会觉得这个有用。

所以,任何人如果遇到这个问题,我的意思是如果在使用twitter-bootstrap tooltip时悬停和按钮上的数据移动时悬停,你只需要执行以下操作: 以前

<script type="text/javascript">
   $(document).ready(function(){
     $('[data-toggle="tooltip"]').tooltip();   
   });
</script>

只需要添加容器(在bootstrap 2.3中修复)

<script type="text/javascript">
   $(document).ready(function(){
     $('[data-toggle="tooltip"]').tooltip({container: 'body'});   
   });
</script>

答案 1 :(得分:2)

好的问题是tooltip默认是在具有该属性的html元素之后插入的。由于工具提示是一个div元素正在破坏你的表:

结构将如下:

<td></td>
<div></div>
<td></td>

这是无效的。您需要更改具有tooltip

的容器的行为
  。

$( '[数据肘节= “工具提示”]')工具提示({容器: '主体'});

BootplyDemo

答案 2 :(得分:0)

不要直接使用td使用span标签希望它能正常工作:

<table id="example-table" class="table table-striped table-hover table-condensed">
    <thead>
        <th>Serial</th>
        <th>Name</th>
        <th>Rating</th>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
          <td><span data-toggle="tooltip" data-placement="right" data-original-title="A">A</span></td>
          <td>php</td>
        </tr><tr>
          <td>2</td>
          <td><span data-toggle="tooltip" data-placement="right" data-original-title="B">B</span></td>
          <td>C#</td>
        </tr>
      </tbody>
    </table>

答案 3 :(得分:0)

您需要在工具提示函数{container:'body', trigger: 'hover', placement:'left'}

中使用少量属性

&#13;
&#13;
    $(document).ready(function(){
        $('[data-toggle="tooltip"]').tooltip(
        {container:'body', trigger: 'hover', placement:"left"}
        );   
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<table id="example-table" class="table table-striped table-hover table-condensed">
    <thead>
        <th>Serial</th>
        <th>Name</th>
        <th>Rating</th>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
          <td data-toggle="tooltip" data-placement="right" data-original-title="A">A</td>
          <td>php</td>
        </tr><tr>
          <td>2</td>
          <td data-toggle="tooltip" data-placement="right" data-original-title="B">B</td>
          <td>C#</td>
        </tr>
      </tbody>
    </table>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

来自CSS的

只需从正文或HTML标记中删除“position:relative”。

它会很好用。