得到单词点击段落

Aar*_*ken 16 javascript jquery

我有一个HTML文档,其中包含大约30,000个单词.

我希望能够在用户点击任何单词时执行某些操作.为了简单/概念,我只想alert()说这个词.

例如,在段落中,如果我点击"有"它应该运行alert("have").

我正在使用jQuery.

ale*_*lex 14

var p = $('p');

p
 .html(function(index, oldHtml) {
    return oldHtml.replace(/\b(\w+?)\b/g, '<span class="word">$1</span>')
 })
 .click(function(event) { alert(event.target.innerHTML) });
Run Code Online (Sandbox Code Playgroud)

我考虑了巴勃罗·费尔南德斯的建议.

在jsFiddle上看到它.

更新

那么,这会有效吗(例如,它不会冻结慢用户的浏览器?)另外,你能详细说明event.target是如何工作的吗?

它可能会很好地减慢30,000字的页面性能.我认为这是过度的,可能会受益于分页,但我不知道你的具体情况.

event.targetproperty保存启动事件的元素 - 事件冒泡/传播到其父级,然后父级处理事件,因此您在单独的span元素上没有30,000个事件.

  • 这将创建30k事件处理程序.不要这样做 (3认同)
  • @UsmanY我想我明白你想说的是什么.但你可以尝试更好地构建你的观点而不是一个鸡巴. (2认同)