【发布时间】:2018-05-14 11:03:16
【问题描述】:
我想让文本可点击,我的意思是其中的每个单词。
现在我知道你可以用<span> 标签来包装每个单词。这适用于
句子和段落,但我希望能够使用长文本(文章到书籍),我猜这种机制不适用于此。
所以在某种程度上我想添加特定的事件监听器,当我点击它而不是事先点击它时,因为用<span> 将整本书中的每个单词包装起来只会导致很多开销。
所以我想知道是否有类似包之类的东西可以为我做到这一点?
我能想到的另一种方法是将文本和事件监听器放入这样的对象中:
[{"word: 'Hello'", event:EventListenerFunction},{"word":'World!', event: EventListerenerFunction},...].
这样我可以在服务器上而不是在客户端上计算整个事情,并且会创建更多需要的信息。对于我想对文本做的其他事情,它也有优势。
现在这种方法的问题是显示。在 vue.js 中显示文本很容易,如下所示:{{ textObject.text }}(如果对象的结构当然是正确的。否则你需要事先过滤单词)。但是如何在不丢失对象中的信息的情况下显示单词并使事件侦听器工作?
我的第三个理论想法是给父 html-tag 一个事件监听器,它以某种方式获取点击的单词作为参数。这将适用于围绕单词方法的包装span。但是没有它呢?
您还有其他想法吗?
【问题讨论】:
-
I guess that this mechanism wont work for this为什么不呢?这正是我会做的。 -
或许你可以看看here
-
您是一次显示整本书吗?没有分页?
-
我计划像在 Facebook 上那样向下滚动时加载内容。
标签: javascript html node.js vue.js