Пользовательские атрибуты на узлах RaphaelJS в IE8 - PullRequest
0 голосов
/ 30 января 2012

У меня есть такой скрипт, который добавляет базовый прямоугольник к бумажному объекту в RaphaelJS, а затем устанавливает некоторые пользовательские атрибуты для прямоугольника:

var furniture = paper
  .rect(0, 0, 100, 200)
  .attr({
    fill: '#ccc'
  })
;


furniture.node.id = 'some-id';
$(furniture.node).attr('class','draggableFurniture');
$(furniture.node).attr('productId','1234');
$(furniture.node).attr('title','Some title');
$(furniture.node).attr('price','123.99');

Это прекрасно работает в IE9, Firefox / Chrome и т. Д., Но не работает в IE8 или 7, предположительно, потому что эти браузеры используют VML, а не SVG, и, вероятно, VML не имеет структуры DOM, которая может использоваться как SVG.

Мне было интересно, как можно получить мои пользовательские атрибуты в эти объекты последовательно во всех браузерах (ну, в том числе IE8 и 7 по крайней мере)?

Спасибо, ребята!

Ответы [ 2 ]

0 голосов
/ 31 января 2012

Я думаю, что лучший способ сделать это было бы с getById() Рафаэля. Вы можете присвоить внутренний идентификатор. Здесь я ответил на вопрос, у вас есть пример того, как это сделать.

добавление идентификаторов к объектам Raphael

Bye!

0 голосов
/ 30 января 2012

Сортировка!В Raphael API есть метод, называемый «data» (http://raphaeljs.com/reference.html#Element.data)), который позволяет настраивать пары ключ / значение для каждого элемента на бумаге. Хотя он не принимает массив элементов, этот метод можно вызватьнесколько раз, поэтому каждый атрибут может быть добавлен таким образом. Пример можно увидеть здесь: http://www.irunmywebsite.com/raphael/additionalhelp.php?v=2&q=element.data#pagetop

...