繁体   English   中英

如何将click事件添加到由服务器端创建的JQuery元素中

[英]How to add click event to an element with JQuery which is created by serverside

我在服务器端创建了一个ul列表,如下所示。 我想点击事件添加到a与jQuery的元素,但我不能访问任何元素。 这是我的代码:

服务器端:

 StringBuilder sbSubCitchens = new StringBuilder();

 sbSubCitchens.Append(@"<div id=""content_1"" class=""subCats"">");
 sbSubCitchens.Append("<ul>");

foreach (kitchen kitchen in kitchenList)
 {
    sbSubCitchens.Append(@"<li><a  class="" " + kitchen.KitchenId + @""">" + kitchen.Name + "</a>  </li>");
 }
 sbSubCitchens.Append("</ul>");
 sbSubCitchens.Append("</div>");

 ltrKitchenList.Text = sbSubCitchens.ToString();

Javascript:

$(document).ready(function () {

 $(".mCSB_container ul li a").click(function () {
       // do smth...
    });
})

HTML输出:

<div class="mCSB_container" style="position: relative; top: 0px;">
  <ul>
   <li><a class=" 1">Cafe</a>  </li>
   <li><a class=" 2">Dünya Mutfağı</a>  </li>
  </ul>
</div>

尝试这个:

$(".mCSB_container ul li a").click(function (e) {
    e.preventDefault();
    // do smth...
});

我认为该点击可能有效,但是由于您没有阻止默认操作,因此该链接可能正在重新加载页面。

还要确保html输出是您期望的,因为您发布的服务器端代码本身不会提供您发布的输出(因此选择器将不起作用)。

我认为您必须输入“ href”参数:

<a href="#" class="whatever">Some stuff</a>

暂无
暂无

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

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