문제

jQuery와 같은 페이지에 x 캔버스 요소를 동적으로 추가하고 있습니다.

$(document).ready(function() { 
    for(i=0;i<4;i++) {
        var can = $(document.createElement("canvas"))
                   .attr("id","table"+i)
                   .addClass("table")
                   .attr("width",640)
                   .attr("height",480)
                   .appendTo('#container');   
    }

    //...
});

어느 것도 아니다 .append() ...도 아니다 .appendTo() 콜백이 즉시 발생하기 때문에 콜백을하십시오. 불행히도, 캔버스 요소에 대한 어떤 것이 즉시 발생하지 않습니다.

내가 갈 때 .getContext('2d') 캔버스 요소 중 하나에서 "getContext는 함수가 아닙니다"로 실패합니다. 이것은 Chrome뿐만 아니라 FF 3.5에서도 발생합니다.

내가 캔버스 요소와 같은 임의의 이벤트 핸들러를 할당하고 임의의 경우 .click(), 및 사용 .getContext() 이 경우 완벽하게 작동합니다.

캔버스가 조작 준비가되어 있는지 효율적으로 결정할 수 있습니까?

도움이 되었습니까?

해결책

나는 당신이 사용할 수 있다고 생각하지 않습니다 getContext()can 변하기 쉬운.

그렇게한다면 시도해보십시오 can[0].getContext(). 이것은 실제로 jQuery가 아닌 요소 객체를 얻습니다.

다른 팁

먼저 브라우저에 대한 버그 보고서가 있는지 확인합니다.

한편, SetInterval 또는 루프 만 사용하여 .getContext (브래킷이없는)가 사실인지 확인하고 (현명한 제한이 있으므로) 무한 루프로 브라우저를 실속하지 마십시오. 무언가 잘못되거나 사용자가 브라우저에 해당 기능이 없습니다.)

캔버스의 Domready 이벤트에 함수를 첨부 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top