XUL:vboxを使用してHboxを動的に穴を開けると、要素が垂直に配置されます

StackOverflow https://stackoverflow.com/questions/4804287

質問

次のコードを使用して、Vbox Elementsを使用してランタイムでHBOX要素を入力しようとしています。

XULコード:

<hbox style="overflow:auto;" id="canvasContainer"> </hbox>

JavaScriptコード:

  this.canvasContainer = document.getElementById("canvasContainer");
  for(var i = 0;i<k;i++){
    let imgCanvas = document.createElementNS("http://www.w3.org/1999/xhtml",'html:canvas');
    imgCanvas.setAttribute("width",200);
    imgCanvas.setAttribute("height",150);
    imgCanvas.getContext("2d").fillRect(0,0,200,150);   
    let canvasVbox = document.createElementNS("http://www.w3.org/1999/xhtml",'vbox');
    this.canvasContainer.appendChild(canvasVbox);

    let canvasLabel = document.createElement("label");
    canvasLabel.setAttribute("value",i);
    canvasLabel.setAttribute("flex",1);
    canvasVbox.setAttribute("flex",1);
    canvasVbox.appendChild(imgCanvas);
    canvasVbox.appendChild(canvasLabel);

    this.canvasContainer.appendChild(canvasVbox);
  }

これにより、キャンバスとラベルが他方の下に垂直に表示されます。問題が発生する可能性があることをご存知ですか?ボックスを動的に入力することは不可能だということでしょうか? Xulrunnerのバグですか?グリッドを使用せずに回避策の可能性を知っていますか?

役に立ちましたか?

解決

問題は行でした:let canvasvbox = document.createelmentns( "http://www.w3.org/1999/xhtml"、 'vbox');

vboxはXHTMLの一部ではなくXUL構文の一部であるため、 "http://www.w3.org/1999/xhtml" by "http://www.mozilla.org/keymaster/gatekeeper/そこにいます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top