在jQuery中动态添加单击处理程序
我有一个MVC应用程序,其中顶部菜单是动态构建的,如下所示:
$.each(data, function (index, dataMenu) { if (i == 0) { stringBuilder.push('' + dataMenu.MenuName + ' '); i++; } else { stringBuilder.push('' + dataMenu.MenuName + ''); stringBuilder.push(' '); stringBuilder.push(' '); } }); stringBuilder.push(''); $("#menu").append(stringBuilder.join(''));
_Layout.cshtml和document.ready上的div标签中有一个加载器gif,它最初是隐藏的。
我想要做的是在每个菜单上显示div。
我该怎么做呢?
问候。
您可以这样做,以避免为每个元素设置监听器。
$(document).on("click", "your target query", function(){ // Your click logic });
这样会导致:
$(document).on("click", "#menu li.someClass", function(){ // Your click logic });
这可以动态地添加或删除菜单项,只需要调用一次。
你不能在循环外做这个吗?
$('#menu li').click(function() { showSpinner(); }
也许我正在读错的问题。