字符串中的OnClick索引

类似于我之前在this问题中提出的关于使用Android获取字符串onClick的索引的问题,我现在想用JavaScript做同样的事情(如果其中也有任何对我有用的函数,我将使用jQuery库)。我在网上搜索了Stack Overflow,似乎什么都找不到。在我链接的问题中,我的答案涉及(x,y)坐标和偏移量which I noticed jQuery has,但它似乎给出了整个元素相对于文档的位置,而不是实际的(x,y)坐标。有没有类似的方法来获得(x,y)坐标(或者更简单的方法来获取索引onClick)?如果我的问题不够清楚,给出以下字符串:

玛丽从未上过学。玛丽太酷了。

我想拥有它,这样,如果有人点击第一个&Mary";等等中的‘y’,我就可以返回3。

一如既往,我们非常感谢任何帮助或坚定的方向。


解决方案

如果文本足够短,则将每个字母换成单独的<span>并不可怕。

类似:

var text = $("#clickable-letter-div").html();

var wrapped = $.map(text.match(/./g), function(s, idx){
  return "<span class='letter'>" + s + "</span>"
}).join("");

$("#clickable-letter-div").html(wrapped);

$(".letter").click(function(){
  var pos = $(this).parent().children().index(this);
  alert(pos);
});

相关文章