Diskuze: Metoda objektu nenajde vlastnost objektu
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Cauko . Keby si to skusil
napr takto?
HTML:
<body>
<canvas id="CanvasId" width="800" height="600" style="border:1px solid #000000;"></canvas>
</body>
JS
var canvas = document.getElementById("CanvasId");
var canvasMan = {
canvas: canvas,
resize: resize
};
function resize() {
console.log(this.canvas);
this.canvas.setAttribute("width", this.canvas.offsetWidth);
this.canvas.setAttribute("height", this.canvas.offsetWidth);
console.log(this.canvas.offsetWidth);
console.log(this.canvas.offsetHeight);
console.log("Resize");
}
A ked potom zavolas
canvasMan.resize()
tak sa ti to resizne
Předpokládám, že jsi použil tu metodu jako callback k eventu. To co vím tak není možné, musíš tu metodu zavolat přímo na tom objektu. To znamená, že k eventu vytvořít anonymní metodu, ve které teprve zavoláš metodu canvasMan.resize(). To by mělo fungovat.
window.addEventListener('resize', canvasMan.resize.bind(canvasMan), true);
Zobrazeno 4 zpráv z 4.