Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测块元素的文本部分上的单击_Javascript_Html - Fatal编程技术网

Javascript 检测块元素的文本部分上的单击

Javascript 检测块元素的文本部分上的单击,javascript,html,Javascript,Html,我有以下html元素: <h1>Some text</h1> 一些文本 我需要检测一个点击并识别它是否落在文本部分或元素的空白部分。 为了保持应用程序其余部分的一致性,我无法将此元素的显示更改为inline或inline block 我也无法修改此元素的内部html,因此将其拆分为两个元素也不是一个选项 此元素中的文本不是常量,实际上是可编辑的 我是否只能检测到此标题的可见(文本)部分上的点击?问题“我也无法修改此元素的内部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否每当我单击该行上的任何位置时,它都会触发,因为
标记是块元素,占据了整个页面的宽度。这仍然允许用户在文本和空白处单击。他们只需要识别文本上的点击。