1

我已经创建了一个 Raphael 文档,并且正在存储这样的位置:

  var R = Raphael("paper", 600, 500);
  var attr = {
      fill: "#fff",
      stroke: "#fff",
      "stroke-width": 1,
      "stroke-linejoin": "round"
  };

-- 从分配给object'ausData' 的 db 中获取坐标并创建一个object'aus' --

$.each(ausData,function(i,obj) {
  attr.fill = myData[i].color;
  aus[i] = R.path(obj).attr(attr);
  aus[i].id = myData[i].id;
  mapIdObj[stateData[i].id] = R.getById(stateData[i].id);//aus[i].id;
});

所以路径对象存储在对象mapIdObj中

然后我试图通过单击链接来更改路径对象。在 .success 中,jQuery.post.success我遍历所有元素,并将锚标记附加到页面,然后jQuery.post.complete尝试绑定单击:

$('#superHappyDiv').append('<a id="button'+st.id+'" class="superButton" name="button'+st.id+'" ref="'+st.id+'" class="" href="javascript:;" title="" target="">x</a>');


$('.superButton').live('click onmousedown',function() {
  if (window.console) console.log($(this).attr('ref'));
  var thisPath = mapIdObj[$(this).attr('ref')];
  thisPath.animate({ 'transform': 's2', opacity: .9 }, 300, "<>");
});

其他答案指出这是有效的,它确实有效,但至少在 IE 7 和 8 中没有!

有没有更有效的方法可以让这个工作,或者在 IE 中工作?!

干杯,博

4

0 回答 0