次のコードを使用して、ボタンのクリック時にフィルターを適用しています
<canvas id="canvas"></canvas>
<a href="#" id="vig">Vignette</a>
<script src="js/jquery-1.11.0.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/camanjs/3.2/caman.full.min.js">
<script type="text/javascript">
var vig = $('#vig');
vig.on('click', function(e){
alert("Button Clicked");
Caman("image.jpg", "#canvas", function(){
this
.vignette(300, 60)
.render();
});
});
</script>
ボタンをクリックすると、アラートが表示されますが、camanJS フィルターは何もしません。フィルタのコードをボタン クリック機能の外に置くと、完全に機能します。
<script type="text/javascript">
Caman("image.jpg", "#canvas", function(){
this
.vignette(300, 60)
.render();
});
</script>
なぜこうなった?