Javascript 检测块元素的文本部分上的单击
我有以下html元素:Javascript 检测块元素的文本部分上的单击,javascript,html,Javascript,Html,我有以下html元素: <h1>Some text</h1> 一些文本 我需要检测一个点击并识别它是否落在文本部分或元素的空白部分。 为了保持应用程序其余部分的一致性,我无法将此元素的显示更改为inline或inline block 我也无法修改此元素的内部html,因此将其拆分为两个元素也不是一个选项 此元素中的文本不是常量,实际上是可编辑的 我是否只能检测到此标题的可见(文本)部分上的点击?问题“我也无法修改此元素的内部html,因此将其拆分为两个元素也不是一个选
<h1>Some text</h1>
一些文本
我需要检测一个点击并识别它是否落在文本部分或元素的空白部分。
为了保持应用程序其余部分的一致性,我无法将此元素的显示更改为inline
或inline block
我也无法修改此元素的内部html,因此将其拆分为两个
元素也不是一个选项
此元素中的文本不是常量,实际上是可编辑的
我是否只能检测到此标题的可见(文本)部分上的点击?问题“我也无法修改此元素的内部html,因此将其拆分为两个元素也不是一个选项。”这是指在事实之后还是在事实之前?i、 是不能修改HTML还是不能通过JS修改HTML
当前解决方案:
我使用.clickable
标识符解析所有元素,删除并重建它们的文本内容,并在它们周围放置跨距-这样我可以将单击侦听器添加到单个文本/span元素中-使我能够访问文本本身
const clickables=document.queryselectoral(“.clickable”)
可点击。forEach(el=>新的可点击(el))
功能可点击(el){
const_handleClick=({target})=>console.log(target.innerHTML)
const text=el.textContent.split(/\s/)
el.innerHTML=“”
text.forEach(t=>{
const span=document.createElement('span')
span.innerHTML=`${t}`
span.addEventListener('click',_handleClick)
el.附属儿童(span)
})
}
一些文本
一些更多text2
通过使用Jquery,您可以使用。单击
功能以了解是否单击了h1
标记
$(“#测试”)。单击(函数(){
警报(“单击!”);
});代码>
测试
onclicked应该是什么@Akshaykishore尝试在谷歌上搜索,附加javascript+你的标题。你会看到很多结果。带着你的代码回来。你能更具体一点吗@colin renaud?我已经展示了感兴趣的html,我不认为代码的其余部分是相关的。向
标记添加单击事件只会在标题(文本)出现时触发已单击。@dvo否每当我单击该行上的任何位置时,它都会触发,因为
标记是块元素,占据了整个页面的宽度。这仍然允许用户在文本和空白处单击。他们只需要识别文本上的点击。