Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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_Html - Fatal编程技术网

Javascript 在列表项目符号图像上指定单击事件

Javascript 在列表项目符号图像上指定单击事件,javascript,jquery,html,Javascript,Jquery,Html,我尝试通过JavaScript(或JQuery)在列表项目符号上分配onclick事件,或者更确切地说是替换它们的图像。我现在知道如何在列表项也可单击时完成这项工作,但这不是我需要的。列表项本身应获得双击事件 假设我们有这个名单: <ul id="allUsers" class="userselect"> <li id="group1" class="group">Group 1</li> <li id="user1-1" class="

我尝试通过JavaScript(或JQuery)在列表项目符号上分配onclick事件,或者更确切地说是替换它们的图像。我现在知道如何在列表项也可单击时完成这项工作,但这不是我需要的。列表项本身应获得双击事件

假设我们有这个名单:

<ul id="allUsers" class="userselect">
    <li id="group1" class="group">Group 1</li>
    <li id="user1-1" class="user">User 1.1</li>
    <li id="user1-2" class="user">User 1.2</li>
    <li id="group2" class="group">Group 2</li>
    <li id="user2-1" class="user">User 2.1</li>
    ...
</ul>
  • 第1组
  • 用户1.1 用户1.2 第二组 用户2.1 ...
双击一个用户列表元素,将该用户添加到另一个列表中。这是没有问题的。但是现在我想在列表项目符号上添加一次单击事件,以展开和折叠组,即在单击时隐藏和显示每个组的用户

在我的项目中使用JQuery时,似乎没有列表项目符号的选择器。因此,我尝试在列表项文本之前添加背景图像和-图像,但无法指定我的单击事件。此外,即使我得到了这些解决方案中的一个,我更希望单击列表项目符号位于双击区域下方,因为如果单击和双击都分配到同一个元素上,则会导致问题


有人有主意吗?提前感谢。

我不认为LI项目符号在技术上是DOM的一部分,因此您不能将单击事件分配给它们


这意味着您必须在每一行上用类似

的内容替换UL/LI标签,并为图像指定单击事件。

除了mblase75的答案外,您还可以使用CSS隐藏默认项目符号

ul {
    list-style:none;
}

您还可以将
  • 内容包装在一个跨距中,以将其与图像分开,从而使您可以分别处理单击事件。

    这是您想要的吗?


    它使用CSS属性来“拉伸”可链接区域,以包含项目符号列表或图像。

    我认为这就做到了。我将内容包装在一个浮动div中,而不是一个span,以使其覆盖整个列表项,而不仅仅是包含文本的区域。然后<代码>宽度:100%的div和一个负边缘的链接图像,它看起来相当不错。谢谢。我想具体细节取决于你的实施,但我很高兴我能让你走上正轨。