我有一个特定日期的事件的 ASP.NET MVC 页面。我还使用 jQuery datepicker,当我选择一天时,我创建一个函数,通过 Ajax 将所选日期发送到 MVC ActionResult 方法,该方法将处理这一天,将执行所有数据库操作的东西,并将返回给我所选日期的所有事件。到目前为止,一切顺利...
之后,我尝试使用 jQuery 线索提示通过 Ajax 显示一些事件详细信息,这也有效......部分!
为什么是部分?当我第一次加载页面时(而且是第一次),这些提示和所有 Ajax 内容都非常有效!在所有第一次加载中,页面将显示今天的事件,这不是通过 Ajax,它只是一个 ViewData["events"] 发送页面信息。但是,如果我选择一天,页面会通过 Ajax 更新,但提示不再起作用!他们没有显示任何内容...我将鼠标悬停在链接上,但什么也没有发生...什么都没有。
我认为这是一个线索提示问题,但令我惊讶的是它不是......
出于测试目的,我在 jQuery 中创建了这个:
$(".myLink").click(function(){ alert($(this).attr("id")); }
当页面第一次加载时,此代码有效,但如果我选择另一天并且页面更新,此 jQuery 代码将不再有效!点击功能根本不起作用!!
所以,结束这个疑问...有人知道会发生什么吗?为什么我的 jQuery 代码无法在通过 Ajax 更新的 ASP.NET MVC 页面中工作?
谢谢大家!!
最佳答案
绑定(bind)事件时使用live
函数-
$(".myLink").live("click", function(){
alert($(this).attr("id"));
});
这将确保所有带有 .myLink 的元素都会受到该事件的影响,即使它们是稍后动态加载的。
但这并不适用于每个事件,因此请检查文档: http://docs.jquery.com/Events/live
关于asp.net-ajax - jQuery 停止在 ASP.NET MVC 中通过 Ajax 更新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546556/