我有一个使用jquery 1.42
的网页我的页面中包含以下2段代码。
$('body').delegate('h2', 'click', function() {
$(this).after("<p>delegate paragraph!<\/p>");
});
$('body h2').live('click', function() {
$(this).after("<p>live paragraph!<\/p>");
});
live方法总是有效,但代表根本不会触发。
如果我用简单的html创建一个简单的页面
<body><h2>blah</h2></body>
这两种方法都有效。所以我假设我的页面还有其他内容。
使用firebug我看到没有javascript错误,没有html错误。委托方法上的断点肯定不会被击中。
委托不引发的原因还有什么?
编辑:下面是页面上其他脚本的列表:
<script type="text/javascript" src="/Scripts/jquery-1.4.2.js"></script>
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.common.min.js"> </script>
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.textbox.min.js"></script>
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.grid.js"></script>
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.grid.filtering.min.js"></script>
<script type="text/javascript" src="/Scripts/2010.1.416/jquery.validate.min.js"></script>
<script type="text/javascript" src="/Scripts/2010.1.416/telerik.grid.editing.min.js"></script>
答案 0 :(得分:2)
它看起来像我正在使用的工具集,Telerik ASP.NET MVC控件2010.1.416引用了jquery.validate.min.js
他们发布的文件版本是1.5.5
将此版本更新为1.7并委托再次按预期工作。
/咂嘴。