1

Ian Li のRaphael SketchPadを使用していますが、図面の保存に問題があります。

sketchpadID を持つオブジェクトの変更dataが更新されるはずなので、確認のためにコンソールログを「変更済み」にしました。何が起こるかというと、画面をロードするとコンソール ログ メッセージが表示され、変更が加えられたときに再び表示されなくなります。

変更が行われた後にのみ console.log を実行するにはどうすればよいですか? 私が使用しているテンプレートの拡張コードは次のとおりです: https://gist.github.com/benbakhshi/5143484

<script type="text/javascript">
   var sketchpad = Raphael.sketchpad("editor", {
      height: 260,
      width: 260,
      editing: true // true is default
   });

   // When the sketchpad changes, update the input field.
   sketchpad.change(function() {
      $("#data").val(sketchpad.json());
      console.log("changed");
   });
</script>
4

1 に答える 1

3

問題は、呼び出しが実際に終了console.logしたという保証なしにしようとしているようです。代わりに、 のイベントに.jsonフックしてロギングを実行してみてください。これにより、ログに記録する前に呼び出しが終了することが保証されます。change#Data.json

何かのようなもの:

var sketchpad = Raphael.sketchpad("editor", {
  height: 260,
  width: 260,
  editing: true // true is default
});

$("#data").change(function () {
    console.log("changed");
});

// When the sketchpad changes, update the input field.
sketchpad.change(function() {
  $("#data").val(sketchpad.json()).change();
});
于 2013-03-12T14:52:56.683 に答える