Katerina23

Проблема с кавычками в сплывающей подсказки

Recommended Posts

Мне нужно изменить вид всплывающей подсказки и я на сайте нашла статью как это можно сделать: Можно ли изменить вид всплывающей подсказки?. Теперь у меня вопрос как передать кавычки через функцию toolTip. Например -Это рисунок: "Машины". Когда я передаю текст с кавычками у меня выдаёт ошибку: 

Uncaught SyntaxError: Unexpected token ILLEGAL

Share this post


Link to post
Share on other sites

Нужно экранировать символ кавычки "

toolTip("Это рисунок: \"Машины\"");
// либо заменить двойные кавычки на одинарные
toolTip('Это рисунок: "Машины"');

https://learn.javascript.ru/string#экранирование-специальных-символов

Share this post


Link to post
Share on other sites

В общем не работает, как не экранируй, всё равно выдаёт ошибку.

<script>
str = "Описание: \"машина\"";
                   cell.innerHTML = "<div onMouseOver=\"toolTip('"+str+"')\" onMouseOut=\"toolTip()\" style=\"width:"+width+"px; height:"+height+"px; word-break:break-all;\">"+img+"</div>";
</script>
                

 

Edited by Katerina23

Share this post


Link to post
Share on other sites

Тут проблема в том, что собирается HTML-строка, а в HTML нет экранирования спецсимволов слешем. Для HTML кавычки надо экранировать как &quot;, т.е. 

str = "Описание: &quot;машина&quot;"; // строка для дальнейшего вывода в HTML

А еще лучше в выводе использовать типографские кавычки («ёлочки» или “лапки”), которые и выглядят приятнее, и со спецсимволами ни в одном известном мне компьютерном языке не конфликтуют ?

Share this post


Link to post
Share on other sites

Есть два варианта

Копировать напрямую нужный символы из таблицы символов, находится она тут:

Пуск - Все программы - Стандартные - Служебные - Таблица символов.

Либо использовать мнемоники  http://htmlbook.ru/samhtml/tekst/spetssimvoly

С последней ссылки можно и сами символы копировать.

 

Share this post


Link to post
Share on other sites
  <p><img src="http://placekitten.com/g/300" alt="Фотография" 
  onMouseOver='toolTip("это \"Котэ\", звать его \"Мурзик\"")'
  onMouseOut="toolTip()"></p>

Остальной код тот же самый что и в вашей ссылке. 

Edited by AlexZaw

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Member Statistics

    46,502
    Total Members
    3,128
    Most Online
    JamesAPatel
    Newest Member
    JamesAPatel
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.