вопрос о правильном структурировании javascript, css и svg - PullRequest
0 голосов
/ 26 августа 2010

у меня есть файл index.html, который включает в себя файл svg и CSS и файл 2 javascripts, а внутри него есть функция javascript

по какой-то причине я не могу запустить функцию javascript.

структура должна быть другой>?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript Tooltip Demo</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<embed src="usmap.svg" width="3000" height="1000"
type="image/svg+xml"
pluginspage="http://www.adobe.com/svg/viewer/install/" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> </script>
<script src="http://cdn.jquerytools.org/1.2.4/full/jquery.tools.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $(".addtooltip").tooltip();
    }); // closes document.ready
</script>
</body>
</html>

1 Ответ

2 голосов
/ 26 августа 2010

Существует несколько причин, по которым размещенный здесь код не будет работать.

Сначала вы пытаетесь запросить DOM встроенного документа SVG, но выполняемый запрос будет запрашивать только DOM на текущей странице. Чтобы получить доступ к DOM встроенного документа SVG, вам нужно сделать что-то вроде следующего:

Как получить доступ к элементам SVG с помощью Javascript

Вторая причина, по которой это не сработает, заключается в том, что jquery в настоящее время не может запрашивать документы SVG. Причина этого заключается в том, что атрибут класса кодируется как анимированное значение в SVG DOM, а не в строке HTML DOM, что приводит в замешательство jquery.

По этой причине, и, поскольку я считаю, что это решит другие проблемы, с которыми вы сталкиваетесь при структурировании вашего HTML-документа, я бы порекомендовал вам использовать библиотеку jQasery SVG jQuery: http://keith -wood.name /svg.html

Это делает многие вещи, которые кажутся релевантными вашему проекту, включая изменение jQuery, чтобы он мог запрашивать документы SVG, и встраивание документа SVG в документ HTML с использованием собственного DOM, если это поддерживается, или Adobe плагин. Будьте осторожны, так как я обнаружил, что плагин SVG DOM нестабилен в определенных ситуациях в Chromium.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...