Raphael에서 객체를 반복하면서 원을 만듭니다. 내가 만든 각 서클에서 클릭 이벤트와 마우스 오버 이벤트를 첨부합니다. 그러나 "this"를 사용하여 원을 앞쪽으로 이동하면 this.toFront()와 같이 내 .click 함수가 작동하지 않습니다. this.toFront()에 대한 주석을 작성하면 클릭 기능이 예상대로 작동합니다."this"를 사용하면 함수가 컨텍스트를 잃습니다 - Raphael JS
내가 뭘 잘못하고 있는지 이해하도록 도와 줄 수 있습니까?
//dummy variables for example
var x_coord = '31';
var y_coord = '50';
var diameter = '80';
var opportunityUrl = 'http://www.google.com';
var fillColorStart = '#000';
var fillColorEnd = '#FF0000';
var p = paper.circle(x_coord, y_coord, diameter)
.data("i", i)
.click(function() {
alert(opportunityUrl);
})
.mouseover(function() {
this.toFront();
})
.attr({"fill": "90-"+fillColorStart+":5-"+fillColorEnd+":95","fill-opacity": 0.5})
.glow({color: "#4b4b4b", width: 7})
괜찮 았어. 그런 다음 이벤트 체인을 위반하지 않고 해당 요소를 어떻게 대상으로 삼을지에 대한 생각은 있습니까? –
아마도 객체를 생성하고'p'에 객체에 대한 참조를 저장 한 후에 이벤트 처리기를 추가 할 것입니까? 그런 다음'this.toFront(); 대신'p.toFront();'를 수행 할 수 있습니다. –
도움, 감사합니다. 나는 그것을 조사 할 것이다. –