2012-06-22 2 views
0

привет я только начать использовать Raphael, но я очень запутался в следующем кодеRapheal Element.node.onclick расслоение плотной() и Element.click()

ПОЧЕМУ этот код работает

  var paper = Raphael("canvas_container", 320, 200); 
      var mycir = paper.circle(50, 40, 30); 
      mycir.node.onclick = function() { alert("any thing") } 

и это не

  var paper = Raphael("canvas_container", 320, 200); 
      var mycir = paper.circle(50, 40, 30); 
      mycir.click = function() { alert("any thing") } 

я также попробовал, и это не сработало:

  mycir.click(function(){alert("any thing")}); 

какая разница? когда я смотрю на raphaeal документ, они используют Element.click(). почему я не могу использовать их, это моя версия или что?

ответ

0

Проблема в том, что вы пытаетесь назначить клик, а не называть его. Это должно работать:

 var paper = Raphael("canvas_container", 320, 200); 
     var mycir = paper.circle(50, 40, 30); 
     mycir.click(function() { alert("any thing") }); 

Обратите внимание, что Рафаэль рекомендует не использовать .node (как он говорит: «Не связывайтесь с ним»)

+0

спасибо за ответ ... но я упоминаю я попытался это и это не сработало –

+0

Я действительно пробовал это в jsfiddle, и это сработало, но я не спас его! :(Вам нужно щелкнуть по кругу круга, чтобы это работало, а не просто с одной пиксельной линией, вы пытались увеличить ширину штриха, чтобы сделать его более очевидным? – Clafou

+0

ну, я просто замечаю что-то странное ... if вы добавляете attr() в круг(), он отлично работает, что делает ваш комментарий о проблеме с пикселем, объясняет, что именно происходит –

Смежные вопросы