我正在使用这些脚本(其中jquery-ui [] .custom.js是datepicker插件):
<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.13.custom.js" type="text/javascript"></script>
<script id="formvalidation" type="text/javascript">
$(document).ready(function () {
$(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
});
</script>
在此输入元素上(在表单内):
<input type="text" name="Date" class="datepicker" />
页面加载正常,当我在输入字段中单击时,datepicker正确弹出,但是一旦选择了日期并且日期选择器消失,我就会在每个浏览器中出现内存泄漏。由于jquery-1.5.1.js中的内存泄漏,这导致JS的一些崩溃或浏览器速度变慢:
行:1520错误:内存不足
调试时我看到错误行是2310
jQuery.event.remove( elem, type + types );
一点背景:
// Unbind all events for the element
if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
types = types || "";
for ( type in events ) {
jQuery.event.remove( elem, type + types );
}
return;
}
我做错了什么或者是jquery中的错误?我也在使用验证插件,但是当我禁用它时会发生同样的错误。
[解决?] 由于我无法在8小时内发布我的答案:
通过切换到最小版本的jquery(jquery-1.5.1.min.js&amp; jquery-ui-1.8.13.custom.min.js)来解决泄漏问题。似乎最小版本和开发版本之间存在一些差异。
附带问题:如果不是问题,那么在哪里提起这个问题呢?
答案 0 :(得分:1)
通过切换到最小版本的jquery(jquery-1.5.1.min.js&amp; jquery-ui-1.8.13.custom.min.js)来解决泄漏问题。似乎最小版本和开发版本之间存在一些差异。
附带问题:如果不是问题,那么在哪里提起这个问题呢?
答案 1 :(得分:0)
可能你想要
$(document).ready(function () {
$(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
});
上面的构造将你的函数传递给jQuery作为选择器,可能会产生意想不到的后果。