这应该将画布点击的x / y位置保存为canvas元素作为数据属性,但出于某种原因,当我使用Chrome检查它时,它们不会出现在HTML中。
$('#canvas').click(function(e){
$(this).data("pos-x", e.offsetX);
$(this).data("pos-y", e.offsetY);
});
如果我在this.data之前添加一个控制台日志,那么值就在那里,它们是不是空的,这似乎是什么问题?
看起来非常直接,所以我很难看到问题。
答案 0 :(得分:3)
jQuery从data-
属性读取,但data('key', value)
不会修改元素属性。 jQuery使用自己的内部数据存储。如果您确实想要添加/更改data-
属性,请使用attr()
:
$(this).attr("data-pos-x", e.offsetX);
$(this).attr("data-pos-y", e.offsetY);