我正在开发一个项目,我正在创建一个3点菜单,并希望添加一个点击处理程序。
我有以下HTML
<td z-var="ExceptionGroup @data-exception-group, CrashType @data-crash-type" data-exception-group="" data-crash-type="" class="context-menu" data-container-id="crash_group_menu"></td>
上面的TD有类上下文菜单,在CSS中如下:
.context-menu:after
{
content: '\2807';
font-size: 20px;
cursor: pointer;
cursor: hand;
}
然后我尝试了以下jquery来选择3点项并在其上设置点击事件:
$('.context-menu[data-container-id="crash_group_menu"]').click(function(){
alert("hello");
});
click事件永远不会被触发,但开发控制台中没有javascript错误。
我也尝试了以下内容:
$('.context-menu[data-container-id="crash_group_menu"]:after').click(function(){
alert("hello");
});
(注意我已将:after
添加到数据属性选择器中)但没有快乐。
我之前在使用div容器时已经这样做了,这是不可能选择类和数据属性,还是我在某处遗漏了某些东西?
答案 0 :(得分:1)
我在评论中说过这一点,但是对于其他可能有类似内容的人。
问题是表是通过API调用动态填充的。这意味着我在填充表之前尝试添加单击处理程序。
我使用javascript promises来解决这个问题。
我返回一个填充表的承诺,一旦promise成功完成,我就会根据需要创建click处理程序。