javascript - 菜单上下文

标签 javascript php jquery html

我正在尝试创建一个上下文菜单来编辑和删除列表中的项目。如下。

HTML

<div class="row">
        <div id="capa1" class="col-md-4 col-md-offset-4">
            <p> Div 1</p>
        </div>
    </div>

    <div class="row">
        <div id="capa2" class="col-md-4 col-md-offset-4">
            <p> Div 2</p>
        </div>
    </div>

    <div class="row">
        <div id="capa3" class="col-md-4 col-md-offset-4">
            <p> Div 3</p>
        </div>
    </div>

这是上下文菜单

    <ul id="menuCapa" class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"> 


    <li role="presentation">
        <a role="menuitem" tabindex="-1" href="#" onClick="restauraCapa();">Restaurar</a>
    </li> 
    <li role="presentation" class="divider"></li>
    <li role="presentation">
        <a role="menuitem" tabindex="-1" href="#" onClick="eliminaCapa();">Eliminar</a>
    </li>

</ul>

还有脚本

    <script>


    //cierra cuando abandona el elemento
    $(document).mouseleave(function(){
         $("#menuCapa").hide('fast');
    });

    //cierra cuando se presiona esc
    $(document).keydown(function(){
         $("#menuCapa").hide('fast');
    });



    //muestra el menu
    $("#capa1").mousedown(function(e) { 
    if (e.button == 2){            
    $("#menuCapa").css("top", e.pageY - 20);
    $("#menuCapa").css("left", e.pageX - 20);
    $("#menuCapa").show('fast');    
    }
    });




    //cierra el menu por defecto
    $(document).bind("contextmenu", function(e){ 
    return false;
    });



</script>

菜单可以工作,但对于单个id,因为div是我通过php的foreach循环生成的,也就是说它们是动态的,我需要知道哪个id是被点击才能传递的它的功能,我希望我已经解释得很好,谢谢你。

最佳答案

给他们每个相同的类(class)

然后

$(".capa_class").mousedown(function(e) { 
    if (e.button == 2){            
      $(this).css("top", e.pageY - 20);
      $(this).css("left", e.pageX - 20);
      $(this).show('fast');    
    }
});

所以技巧是使用类,而不是 id,并使用 $(this) 对 clicked/mouseleave/keydown 元素执行任何您想要的操作。

关于javascript - 菜单上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268758/

相关文章:

javascript - Google 图表将侧面设置为仅显示

javascript - mustache 自定义功能

php - 单击接受后显示警报消息并重定向

php - 如何同时向两个表插入数据?

jquery - Bootstrap 4 slider 文本仅推荐

javascript - 基于带图标的列的 DataTables 搜索

javascript - 如何生成一个唯一的链接来加载包含可供客户端使用的某些文档的 session ?

javascript - 如何在可视化 Web 开发人员中将 javascript 组合到 html/ASP.Net 中?

php - 如何在 XAMPP 中使用 PHP_CodeSniffer?

Jquery 使用变量到 .show() div