如何获得点击菜单细节

问题描述:

我有jQuery的菜单一样如何获得点击菜单细节

<ul id="fileMenu"> 
    <li>Refresh</li> 
    <li>-</li> 
    <li>Exit</li> 
</ul> 
<ul id="editMenu"> 
    <li>Add</li> 
    <li>Edit</li> 
    <li>Delete</li> 
</ul> 

我得到的方式来获得点击事件的子菜单项像

$('#fileMenu').on('click', 'li', function() { 
      alert("Hello"); // Or make($(this)); if you still want that extra function 
     }); 

但是,如何找出特定菜单选项,即用户点击打开,退出,编辑,删除等...

+0

$(本)被点击元素,你想要什么? – 2015-01-21 04:53:00

使用单击元素上下文this创建jQuery选择器以及.text()以获取其中的文本。

您还需要添加其他家长UL选择(如#editMenu)来定位自己的元素以及 :

$('#fileMenu,#editMenu').on('click', 'li', function() { 
     var currenttext=$(this).text(); 
     alert(currenttext); 
     if(currenttext=="Add"){ 
      //perform Add 
     }else if(currenttext=="Delete"){ 
      //perform delete 
     }else{ 
      //perform edit 
     }  
    }); 
+0

谢谢,求助。在jQuery中比较的最佳方式是什么,即我们如何在C++或c#中使用switch,什么是比较和执行事物的最佳方式? – Naruto 2015-01-21 04:56:20

+0

你想在开关状态下使用什么? – 2015-01-21 04:56:52

+0

如果我有3个菜单,如添加,删除和编辑。都会发挥相同的功能。在这里,我必须比较,即$(this).text()== Add,$(this).text()== delete。我只是问最好的方式comapre? – Naruto 2015-01-21 04:58:53

试试这个Fiddle

$('#fileMenu').on('click', 'li', function() { 
 
      var text=$(this).text() 
 
    alert("Hello you clicked" + " " + text); // Or make($(this)); if you still want that extra function 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<ul id="fileMenu"> 
 
    <li>Refresh</li> 
 
    <li>-</li> 
 
    <li>Exit</li> 
 
</ul> 
 
<ul id="editMenu"> 
 
    <li>Add</li> 
 
    <li>Edit</li> 
 
    <li>Delete</li> 
 
</ul>

+0

你和OP代码有什么区别? – 2015-01-21 04:55:37

+0

@BhojendraNepal如果你点击其中一个警报将出现与李的文字 – Akshay 2015-01-21 04:56:32

+0

这是目前OP有。 – 2015-01-21 04:58:05

你使用列表ID [#fileMenu,#editMenu]来实现这一点。小提琴会帮助你把它整理出来。

小提琴:http://jsfiddle.net/8bv9h3um/

$('#fileMenu, #editMenu').on('click', 'li', function() { 
      alert($(this).text()); 
}); 
+0

谢谢,什么是最好的方式来比较jquery,即我们如何使用开关在c + +或c#中,什么是最好的方式来比较和执行的事情? – Naruto 2015-01-21 04:55:54