通常JavaScript绑定DOM元素上的事件。但是我想知道用户点击了哪个单词。我熟悉的方法是像这样把每个单词都 Package 起来:
<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>.
我认为这是一个冗余的代码,有没有可能使代码更简洁?
2条答案
按热度按时间rhfm7lfc1#
当然,您也可以编写一个JavaScript函数来 Package 每个单词:
当然,这是假设元素中没有其他html,你可以合并马蒂的建议使代码更简洁。
rslzwgfq2#
要以任何可行的方式实现这一点,您可能仍然需要像现在这样将每个单词 Package 在一个单独的元素中,但您至少可以摆脱所有内联JavaScript。
将even监听器添加到words的父元素中,word元素接收到的任何事件都将冒泡到父元素中,您可以查看event target属性来找出单击了哪个单词。
您使用的是JS库还是没有JS库?
编辑:由于您没有使用库,jQuery是一个流行的选择(流行到足以被认为是SO的陈词滥调,我想这说明了一些问题)。
http://jsfiddle.net/eKvdn/(单击单词)
不过,在使用它之前多读一些关于它的资料将是一个非常好的主意。