2013-04-25 2 views
2

Допустим, у вас есть неупорядоченный список только с иконками (здесь только один):Как показывать ссылки и многое другое в twitter bootstraps popover?

<ul> 
    <li class="in-row"><a href="#" id="meddelanden" data-content="Content here..." 
      data-title="Meddelanden" data-toggle="clickover" data-placement="left"> 
      <i class="icon-globe"></i></a> 
    </li> 
</ul> 

С помощью этих включаемых файлов в ваш HTML документа:

<script type="text/javascript" src="../js/jquery.js"></script> 
    <script type="text/javascript" src="../js/bootstrap.js"></script> 
    <script> 
     $('#meddelanden').popover('animate'); 
    </script> 

Это действительно кажется хорошо и содержание показано когда я нажимаю значок, но я хотел бы иметь некоторые ссылки и перерывы и прочее в этом контейнере popover. Как я могу это сделать?

ответ

2

Да, вы можете. Попробуйте использовать поповер content и html атрибуты ... See Doc

http://jsfiddle.net/4jhzg/

HTML

<ul> 
    <li class="in-row"><a href="#" id="meddelanden" 
      data-title="Meddelanden" data-toggle="clickover" data-placement="right"> 
     <i class="icon-globe"></i></a> 
    </li> 
</ul> 

Script

var elem = '<div><a href="google.com">google</a></div>'; 
$('#meddelanden').popover({animation:true, content:elem, html:true}); 
+0

Я принимаю этот ответ, когда код становится более читаемым с помощью этого решения. –

+0

Не могли бы вы взглянуть на мой другой вопрос? [Здесь!] (Http://stackoverflow.com/questions/16226474/how-can-i-close-a-bootstrap-popover-with-a-button-inside-the-popover) @PSCoder –

+0

Я опубликовал сообщение ответьте, посмотрите, если это то, что вы хотели. – PSL

4

Для этого вам не нужно использовать javascript. Для этого вы можете использовать data-html и data-content.

Попробуйте установить data-html="true" и вставьте экранированный html в свой атрибут data-content. Так же, как это:

<ul> 
    <li class="in-row"><a href="#" id="meddelanden" data-content="&lt;hr&gt;Sample html&lt;br&gt;" 
      data-title="Meddelanden" data-toggle="clickover" data-placement="left" data-html="true"> 
      <i class="icon-globe"></i></a> 
    </li> 
</ul> 

Некоторые текстовые редакторы обеспечивают встроенные Спасения инструменты HTML. Если ваш редактор не произойдет, вы можете использовать онлайн-инструмент, как этот: http://www.htmlescape.net/htmlescape_tool.html


Update: Другой подход, чтобы добавить разметку самого документа HTML (как скрытый контейнер) и создать всплывающую подсказку с помощью JavaScript:

HTML

<div id="tooltip-content" style="display: none;"> 
    <p>Tooltip content goes here</p> 
</div> 

Javascript

$('#element').tooltip({ 
    html: true, 
    title: $('#tooltip-content').html() 
}); 

Это лучший подход (на мой взгляд). Легче читать и поддерживать - нет HTML внутри вашего javascript или внутри атрибута data-content.

+0

Я бы не пошел с этим подходом. Что, если html длинный, ваша разметка будет нечитабельной и будет трудно поддерживать. – PSL

+0

Это зависит от перспективы. HTML внутри javascript-кода также может быть сложно поддерживать.Во всяком случае, документация в [bootstrap # popovers] (http://twitter.github.io/bootstrap/javascript.html#popovers) показывает, как установить контент с помощью javascript. –

+0

Юо не нужно размещать html внутри JS-кода. его просто скрипка вы можете просто разметки в свой html и использовать $ для ее получения. вы можете избежать дополнительных накладных расходов, избегая тегов html. Просто моя точка зрения :) – PSL

Смежные вопросы