JavaScript会在每个单词上获得事件

meg*_*gas 3 javascript javascript-events

通常JavaScript绑定DOM元素上的事件.但我想知道用户点击了哪个词.对我来说熟悉的方法就是像这里一样包装每一个字:

<a href="javascript:onClick()">And</a> <a href="javascript:onClick()">now</a> <a href="javascript:onClick()">the</a>
<a href="javascript:onClick()">kung</a> <a href="javascript:onClick()">pao</a> <a href="javascript:onClick()">chicken</a>.
Run Code Online (Sandbox Code Playgroud)

我认为这是一个冗余的代码,是否可以使代码更简洁?谢谢

Tik*_*vis 6

好吧,你总是可以编写一个JavaScript函数来为你包装每个单词:

function wrapWords(element) {
    var html = element.innerHTML;
    var words = html.split(/ /);
    var newHtml = '';

    for (var i = 0; i < words.length; i++) {
        newHtml += '<span>' + words[i] + '</span> ';
    }

    element.innerHTML = newHtml; 
}
Run Code Online (Sandbox Code Playgroud)

当然,这假设元素中没有其他html.你可以将它与Matti的建议结合起来,使代码更整洁.