0

这应该将画布单击的 x/y 位置保存为画布元素作为数据属性,但由于某种原因,当我使用 Chrome 检查它时,它们不会出现在 HTML 中。

$('#canvas').click(function(e){
    $(this).data("pos-x", e.offsetX);
    $(this).data("pos-y", e.offsetY);
});

如果我在 this.data 之前添加一个控制台日志,值就在那里,它们不是空的,这似乎是什么问题?

这似乎很直接,所以我很难看到问题。

4

1 回答 1

3

data-jQuery 从属性中读取,但data('key', value)不修改元素属性。jQuery 使用自己的内部数据存储。如果您确实想添加/更改data-属性,请使用attr()

$(this).attr("data-pos-x", e.offsetX);
$(this).attr("data-pos-y", e.offsetY);
于 2013-10-21T17:57:29.570 回答