Javascript 为什么jQuery要验证clobber jQuery UI?
我使用的是jQueryUI1.8.7(一个在jQueryUI站点上创建的自定义构建,它只包含对话框小部件) 我也在使用jQuery Validate 1.6插件(或者更确切地说是尝试) 我的jQuery UI标记/代码非常有用:Javascript 为什么jQuery要验证clobber jQuery UI?,javascript,jquery,jquery-ui,jquery-plugins,Javascript,Jquery,Jquery Ui,Jquery Plugins,我使用的是jQueryUI1.8.7(一个在jQueryUI站点上创建的自定义构建,它只包含对话框小部件) 我也在使用jQuery Validate 1.6插件(或者更确切地说是尝试) 我的jQuery UI标记/代码非常有用: <div id="create-snapshot" title="Create new snapshot?"> <p style="text-align:left"> <span>Name: <input id="s
<div id="create-snapshot" title="Create new snapshot?">
<p style="text-align:left">
<span>Name: <input id="snapshotName" name="snapshotName" /></span><br /><br />
<b>Snapshot type:</b><br /><br />
<input type="radio" id="snapshotType"
name="snapshotType" value="0"
checked="checked" />Snapshot just the disks.<br />
<input type="radio" id="snapshotType"
name="snapshotType" value="1" />Snapshot both disks and memory.
</p>
</div>
$("#create-snapshot").dialog({
autoOpen: false,
resizable: false,
width: 500,
height: 250,
modal: true,
buttons: {
"Create": function () {
// ...do ajaxy stuff...
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
// Hook up <a href="#" id="create">Create Snapshot</a>
$("body").delegate("a[id='create']", "click",
function () {
$("#create-snapshot").dialog('open');
return false;
}
);
名称:
快照类型:
仅快照磁盘。
快照磁盘和内存。
$(“#创建快照”)。对话框({
自动打开:错误,
可调整大小:false,
宽度:500,
身高:250,
莫代尔:是的,
按钮:{
“创建”:函数(){
//…做些ajaxy的事。。。
$(此).dialog(“关闭”);
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
});
//勾搭
$(“body”).delegate(“a[id='create'],“click”,
函数(){
$(“#创建快照”)。对话框(“打开”);
返回false;
}
);
标记的顺序为:
jquery-1.4.4.min.js
jquery-ui-1.8.7.custom.min.js">
jquery.validate.min.js
jquery-1.4.4.min.js
jquery-ui-1.8.7.custom.min.js“>
jquery.validate.min.js
我发现,当我包含jquery.validate.min.js
时,它会杀死Create Snapshot
事件处理程序。如果我删除它,jquery模式对话框将正常打开
我已经检查了Firebug/Chrome开发工具中的错误,但没有发现任何异常
为什么会发生这种情况?更新:
快速查看版本1.6,它在jQuery库的较新版本(使用相同的方法名)中有一个已知错误,请检查。您必须升级您的验证插件
您是否尝试过更新验证插件?我猜您使用的是旧版本的 这段代码在我的机器上执行得很好(使用validate1.7):
$(文档).ready(函数(){
$(“#创建快照”)。对话框({
自动打开:错误,
可调整大小:false,
宽度:500,
身高:250,
莫代尔:是的,
按钮:{
“创建”:函数(){
//…做些ajaxy的事。。。
$(此).dialog(“关闭”);
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
});
//勾搭
$(“body”).delegate(“a[id='create'],“click”,函数(){
$(“#创建快照”)。对话框(“打开”);
返回false;
});
});
名称:
快照类型:
仅快照磁盘。
快照磁盘和内存。
如果你把两者颠倒过来会怎么样?@drach-试过了,没什么区别。是的,我也这么想。idk,我在读它之前已经没有主意了:S…听起来像是个棘手的错误。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="../../css/smoothness/jquery-ui-1.8.7.custom.css">
<script type="text/javascript" src="../../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../js/jquery-ui-1.8.7.custom.min.js"></script>
<script type="text/javascript" src="../../js/jquery.validate.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
$(document).ready(function() {
$("#create-snapshot").dialog({
autoOpen: false,
resizable: false,
width: 500,
height: 250,
modal: true,
buttons: {
"Create": function () {
// ...do ajaxy stuff...
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
// Hook up <a href="#" id="create">Create Snapshot</a>
$("body").delegate("a[id='create']", "click", function () {
$("#create-snapshot").dialog('open');
return false;
});
});
</script>
</head>
<body>
<a href="#" id="create">Create Snapshot</a>
<div id="create-snapshot" title="Create new snapshot?">
<p style="text-align:left">
<span>Name: <input id="snapshotName" name="snapshotName" /></span><br /><br />
<b>Snapshot type:</b><br /><br />
<input type="radio" id="snapshotType"
name="snapshotType" value="0"
checked="checked" />Snapshot just the disks.<br />
<input type="radio" id="snapshotType"
name="snapshotType" value="1" />Snapshot both disks and memory.
</p>
</div>
</body>
</html>