我试图在使用PHP生成的动态表上生成工具提示样式的弹出菜单。该表在表中返回10至20行。当我单击第一列表中的项目时,我希望弹出子菜单以工具提示的样式显示。

我已经在设计样式以使其看起来像我想要的样子,但是现在我正在尝试使功能正常工作!

我设法拼凑了显示和隐藏div的代码,它对于一项很有效。但是,当我在测试中添加多于一行时,就会出现故障。我使用.click事件,但是由于有多个项目,您最终不得不双击。谁能帮助我让它更好地工作?



 function myPopup(id) {
    $("#myPopup" + id).click(function() {
        if ($("#menudiv" + id).is(":hidden")) {
            //$("#menudiv"+id).fadeIn(500);
            $("#menudiv" + id).show();
        } else {
            $("#menudiv" + id).hide();
        }
    });
    $("#menudiv" + id).mouseleave(function() {
        $(this).hide();
    });
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
        <tr>
            <td>
                <div style="padding-bottom:8px;">
                    <a href="#" id="myPopup1" onClick="javascript:myPopup(1);">Company Name</a>
                </div>
                <div id="menudiv1" style="position: fixed; display: none;">
                    <div class="tooltipMenu">
                        <span class="tooltiptext">View | Edit </span>
                    </div>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div style="padding-bottom:8px;">
                    <a href="#" id="myPopup2" onClick="javascript:myPopup(2);">Company Name</a>
                </div>
                <div id="menudiv2" style="position: fixed; display: none;">
                    <div class="tooltipMenu">
                        <span class="tooltiptext">View | Edit </span>
                    </div>
                </div>
            </td>
        </tr>

    </table>

最佳答案

因为您在标签的事件单击中添加了函数myPopup,但是您在函数myPopup中调用了单击事件。请查看我的代码:



function myPopup(id){
		if ($("#menudiv"+id).is(":hidden")) {
			$("#menudiv"+id).fadeIn(500);
			$("#menudiv"+id).show();
		} else {
			$("#menudiv"+id).hide();
		} ;

		$("#menudiv"+id).mouseleave(function(){ $(this).hide(); });
	}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
    <td>
    <div style="padding-bottom:8px;">
    <a href="#" id="myPopup1" onClick="javascript:myPopup(1);">Company Name</a>
    </div>
    <div id="menudiv1" style="position: fixed; display: none;">
        <div class="tooltipMenu">
            <span class="tooltiptext">View | Edit </span>
        </div>
    </div>
    </td>
</tr>
<tr>
    <td>
    <div style="padding-bottom:8px;">
    <a href="#" id="myPopup2" onClick="javascript:myPopup(2);">Company Name</a>
    </div>
    <div id="menudiv2" style="position: fixed; display: none;">
        <div class="tooltipMenu">
            <span class="tooltiptext">View | Edit </span>
        </div>
    </div>
    </td>
</tr>

10-05 18:30