简体   繁体   English

mmenu不会触发onclick事件

[英]mmenu doesnt fire onclick event

I am using the mmenu jquery plugin ( http://mmenu.frebsite.nl/ ). 我正在使用mmenu jquery插件( http://mmenu.frebsite.nl/ )。 When clicking on items on the menu it doesnt trigger my onclick event. 当单击菜单上的项目时,它不会触发我的onclick事件。 Any ideas why this could be happening would be much appreciated. 任何想法为什么会发生这种情况将不胜感激。

<nav id="menu">
    <ul>
        <li>
            <span id="showScanDataBtn">
                <i class="menu-icon fa fa-leaf"></i> Scan Data
            </span>
        </li>
        <li>
            <span id="showPickingBtn">
                <i class="menu-icon fa fa-list"></i> View Picking
            </span>
        </li>
        <li>
            <span id="logoutBtn">
                <i class="menu-icon fa fa-power-off"></i> Logout
            </span>
        </li>
    </ul>
</nav>

This is the javascript: 这是javascript:

$(function () {
$("#showPickingBtn").click(function (e) {
        alert("Button Clicked!");
    });
});

I have also tried the exact same but with a tags instead just in case the span was causing the issue, but im having the same effect. 我还尝试了完全相同的方法,但是使用标签代替,以防万一跨度导致了问题,但是即时消息具有相同的效果。

try with ...on('click', function... 尝试...on('click', function...

 $(function () { $("#showPickingBtn").on('click', function (e) { alert("Button Clicked!"); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <nav id="menu"> <ul> <li> <span id="showScanDataBtn"> <i class="menu-icon fa fa-leaf"></i> Scan Data </span> </li> <li> <span id="showPickingBtn"> <i class="menu-icon fa fa-list"></i> View Picking </span> </li> <li> <span id="logoutBtn"> <i class="menu-icon fa fa-power-off"></i> Logout </span> </li> </ul> </nav> 

Maybe you can use this as example so you just have to set the onclick event once and then inside check for id and do whatever you want with it... 也许您可以使用它作为示例,所以您只需要设置一次onclick事件,然后在内部检查id并使用它做您想做的一切...

 $(function () { $("#menu").find('li span').on('click', function (e) { if( $(this).attr('id') === 'showPickingBtn' ) { alert('CRAZY - ' + 'showPickingBtn' + ' has been clicked'); } else { alert($(this).attr('id') + ' has been clicked'); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <nav id="menu"> <ul> <li> <span id="showScanDataBtn"> <i class="menu-icon fa fa-leaf"></i> Scan Data </span> </li> <li> <span id="showPickingBtn"> <i class="menu-icon fa fa-list"></i> View Picking </span> </li> <li> <span id="logoutBtn"> <i class="menu-icon fa fa-power-off"></i> Logout </span> </li> </ul> </nav> 

How about this? 这个怎么样?

$("#showPickingBtn").on("click", function (e) {
    alert("Button Clicked!");
});

this code working for me 该代码对我有用

   $(document).ready(function() {
        $("#showPickingBtn").click(function (e) {
                alert("Button Clicked!");
            });
       });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM