单击“事件”以在IE中修改Raphael路径

时间:2012-09-06 18:17:49

标签: javascript jquery dom raphael

我创建了一个Raphael文档并存储了这样的位置:

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

- 从db分配到object'ausData'获取coords并创建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

然后我尝试通过单击链接来更改路径对象。在jQuery.post.success的.ccess访问中我正在遍历所有元素,并在页面上附加一个锚标记,并在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, "<>");
});

其他answers已经指出这是有效的,而且确实如此,但至少在IE 7和8中都没有!

是否有一种更有效的方法可以让它在IE中工作或完全工作?!

干杯,博

0 个答案:

没有答案