Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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/3/heroku/2.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_Jquery_Jquery Events - Fatal编程技术网

Javascript 仅在元素上触发“单击”事件,而不考虑其填充

Javascript 仅在元素上触发“单击”事件,而不考虑其填充,javascript,jquery,jquery-events,Javascript,Jquery,Jquery Events,目标是仅当用户直接单击元素(不包括其填充)时,才触发元素上的“单击”事件。 因此,假设我们有如下情况: <ul> <li>First element</li> <li>Second element</li> <ul> 假设这些列表元素在同一行上对齐。因此,当用户点击这两个元素中间的某个“空间”,或者甚至更接近第二个元素时,可能会出现这样的情况。如果在这种情况下没有触发任何事件,而不是这两种情况中的任何一种,这将更加

目标是仅当用户直接单击元素(不包括其填充)时,才触发元素上的“单击”事件。 因此,假设我们有如下情况:

<ul>
  <li>First element</li>
  <li>Second element</li>
<ul>
假设这些列表元素在同一行上对齐。因此,当用户点击这两个元素中间的某个“空间”,或者甚至更接近第二个元素时,可能会出现这样的情况。如果在这种情况下没有触发任何事件,而不是这两种情况中的任何一种,这将更加直观

在HTML中,将内容包装为:

第一要素 第二要素 在CSS中为设置填充。例如:

在您的JS集合中,单击“非”事件:

让firstElement=document.querySelector'li span'; addEventListener'click',clickHandler;
嗯,这很有效。但是,情况是,我需要将两个跨距图标和文本合并为一个跨距。它会导致第二个文本下移,所以,不是aligned@Y3nX您必须修复CSS的样式问题。无论如何,单击事件侦听器在整个可单击区域上工作。
li {
  padding: 20px;
}