list 带有 ul li 的 onclick 事件以触发函数

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17935555/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-11 02:02:52  来源:igfitidea点击:

onclick event with ul li to fire a function

javascriptlisteventsonclick

提问by circariem

I'm new to coding and I need help with adding an onclick event to my list (which is supposed to work as a drop-down menu)-

我是编码新手,我需要帮助将 onclick 事件添加到我的列表(应该作为下拉菜单)-

This is the code for my list:

这是我的列表的代码:

<div class="click-nav">

<ul class="clicker">
<ul>
            <li><a href="#">shake</a></li>
            <li><a href="#">shrink</a></li>
            <li><a href="#">melt</a></li>
        <li><a href="#">disperse</a></li>
</ul>     
</ul>
</div>

I want to make it so that when one of these items is selected, a function is fired (which calls a bunch of images specific to the category selected to be placed in a div).

我想让它在选择这些项目中的一个时触发一个函数(它调用一组特定于所选类别的图像以放置在 div 中)。

I've tried it also with the select option and it was working perfectly, but I have to change it because its stubborn design:

我也用 select 选项尝试过它,它运行得很好,但我必须改变它,因为它的顽固设计:

<label>
<select name="alphabets" id="typeface" onchange="myType();">
<option value="shake" selected>shake</option>
<option value="shrink">shrink</option>
<option value="melt">melt</option>
<option value="disperse">disperse</option>
<option value="disintegrate">disintegrate</option>

</select>
</label>

Thanks in advance for the help!

在此先感谢您的帮助!

回答by A Mind United

You could just add onclick to each '' and call a different function for each one:

您可以将 onclick 添加到每个 '' 并为每个函数调用不同的函数:

<script>
    function shake(){
        alert('Shake');
    }

    function shrink(){
        alert('Shrink');
    }

</script>
<div class="click-nav">

<ul class="clicker">
<ul>
    <li><a href="#" onclick=shake();>shake</a></li>
    <li><a href="#"onclick=shrink();>shrink</a></li>
    <li><a href="#">melt</a></li>
    <li><a href="#">disperse</a></li>
</ul>     
</ul>
</div>

回答by aditya

See this.

看到这个。

<html>
<div id="name">text</div>

<ul><li onclick="chaangeEvenet(this)">A </li><li  onclick="chaangeEvenet(this)">B </li><li  onclick="chaangeEvenet(this)">C </li></ul>
</html>

<script>
var namefield=document.getElementById("name");
function chaangeEvenet(e){
   namefield.innerHTML=e.innerHTML;
}
</script>