相关疑难解决方法(0)

检测文本中单击的单词

我正在构建一个JS脚本,在某个点上,它可以在给定页面上允许用户单击任何单词并将该单词存储在变量中.

我有一个非常难看的解决方案,并使用jQuery进行类解析:我首先解析整个html,拆分每个空间的所有内容" ",并重新附加包含在a中的所有内容<span class="word">word</span>,然后我添加一个带有jQ的事件来检测点击次数这样一个类,并使用$(this).innerHTML我得到点击的单词.

这在很多方面都是缓慢而丑陋的,我希望有人知道另一种方法来实现这一目标.

PS:我可能会考虑将其作为浏览器扩展程序运行,所以如果单纯的JS听起来不可能,并且如果您知道允许的浏览器API,请随时提及它!

一个可能的owrkaround将是让用户突出显示单词而不是单击它,但我真的希望能够通过只需单击即可实现相同的功能!

html javascript parsing

38
推荐指数
5
解决办法
2万
查看次数

如何防止浏览器将 HTML 插入 contenteditable 元素

当用户在contenteditable元素中插入换行符时,浏览器会将HTML 插入元素中。

以下是您[Enter]在各种浏览器中点击时得到的结果:

IE:      <p></p>
Chrome:  <div><br></div>
Safari:  <div><br></div>
Firefox: <br />
Opera:   <br />
Run Code Online (Sandbox Code Playgroud)

(使用此 JSFiddle 演示自行测试。)

当用户没有插入任何 HTML 时,有没有办法让浏览器不插入 HTML?当然,我可以只使用

<textarea></textarea>
Run Code Online (Sandbox Code Playgroud)

...这确实与我想要的非常相似,但是,我不想要严格的“纯文本”输入,因为我将使用 Javascript 在可编辑元素中添加和修改 HTML。

我考虑过在用户键入时不断剥离所有 HTML,只允许保留带有我创建的特殊类的 HTML。然而,这似乎不是一个很好的解决方案。是否有类似wrap='soft'或其他方式说“停止编写 HTML 并将其放入我的元素中!”

html contenteditable richeditabletext

5
推荐指数
1
解决办法
6922
查看次数