我正在使用Ian Li的Raphael SketchPad,在保存图形时遇到了一些麻烦。
在对我的sketchpad
进行更改后,应该更新ID为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>
最佳答案
该问题似乎是您要尝试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();
});