سؤال

وأنا بشكل حيوي إضافة عناصر 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 ليس وظيفة." يحدث هذا على FF 3.5 وكذلك الكروم.

إذا أنا تعيين والتعسفي معالج الأحداث لعناصر قماش مثل .click()، واستخدام .getContext() في هذا الحدث، وأنها تعمل تماما.

وكيف يمكنني تحديد بكفاءة أن قماش جاهز للتلاعب؟

هل كانت مفيدة؟

المحلول

وأنا لا أعتقد أنه يمكنك استخدام getContext() على المتغير can.

إذا كنت تفعل ذلك، حاول can[0].getContext(). وهذا في الواقع الحصول على الكائن عنصر، وليس في مسج.

نصائح أخرى

أولا، ويهمني معرفة ما إذا كان هناك تقرير الشوائب في على هذا إما المتصفح.

وفي الوقت نفسه، هل يمكن استخدام setInterval، أو ربما مجرد حلقة، للتأكد فقط سواء .getContext (بدون أقواس) هو صحيح، والمضي قدما إلا بعد هو (مع بعض الحد المعقول لذلك لم يكن المماطلة في المتصفح مع حلقة لا نهائية إذا حدث خطأ ما أو المستخدم ليس لديه هذه الميزة في المتصفح.)

هل يمكن أن نعلق وظيفة لهذا الحدث DOMReady من قماش.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top