我正在使用
Asp.net mvc和jquery开发一个应用程序.我想对不同视图中的html元素使用相同的命名约定(类和id).
在我想异步加载局部视图的情况下,主视图中的$(document).ready()代码片段失去了用处,因为jquery无法识别patial视图的html标记和css命名.我当然不想为每个视图编写相同的代码.有什么方法可以解决这个问题?
解决方法
您可以使用
.live()
,例如:
$(".myClass").click(function() { });
变成这样:
$(".myClass").live('click',function() { });
.live()以不同的方式工作. .click()绑定选择器在运行时匹配的元素,通常是document.ready. .live()通过生活在DOM根目录,监听事件冒泡并执行处理程序(如果气泡的目标与选择器匹配的事件).