In der Doku finde ich nichts dazu, aber ich sehe zwei Möglichkeiten, es selbst zu realisieren:
- Eine Hilfs-Eigenschaft benutzen, mit der man die Aktionen im Handler totlegen kann.
- Den Handler auf null setzen.
(Auskommentiert: 1. aktiv: 2.)
Code
<canvas id="testclick"></canvas>
<button id="disable">Disable</button>
<script>
// $('#testclick').addLayer({
// type: 'rectangle',
// name: 'rock',
// fillStyle: '#f00',
// x: 10,
// y: 10,
// width: 140,
// height: 200,
// clickDisabled: false,
// click: function (layer) {
// console.log(layer.clickDisabled);
// }
// }).drawLayers();
// $("#disable").on('click', function () {
// $('#testclick').setLayer('rock', {
// clickDisabled: true
// });
// });
function clickHandler(layer) {
console.log("clicked");
}
$('#testclick').addLayer({
type: 'rectangle',
name: 'rock',
fillStyle: '#f00',
x: 10,
y: 10,
width: 140,
height: 200,
click: clickHandler
}).drawLayers();
$("#disable").on('click', function () {
$('#testclick').setLayer('rock', {
click: null
});
});
</script>
Alles anzeigen