JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/4.1.1/pixi.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
JavaScript
$(document).ready(onReady);
var renderer = new PIXI.autoDetectRenderer(800, 600, {backgroundColor:0xFFFFFF});
var stage = new PIXI.Stage(0xFFFFFF);
function onReady() {
var container = new PIXI.Container();
var mask = new PIXI.Graphics();
var wabbitTexture = new PIXI.Texture.fromImage("http://www.goodboydigital.com/pixijs/bunnymark/bunnys.png");
var bunny = new PIXI.Sprite(wabbitTexture);
bunny.position = new PIXI.Point(400, 200);
bunny.interactive = true;
bunny.buttonMode = true;
bunny.on('click', function () {
alert('clicked');
});
mask.interactive = true;
mask.buttonMode = true;
mask.drawRect(0, 0, 800, 600);
mask.hitArea = new PIXI.Rectangle(0, 0, 800, 600);
// comment these 2 lines out and it works
container.mask = mask;
container.addChild(mask);
container.addChild(bunny);
stage.addChild(container);
document.body.appendChild(renderer.view);
requestAnimationFrame(update);
};
function update () {
renderer.render(stage);
requestAnimationFrame(update);
}