我需要更新我的jQuery库以获取IE9与< = v1.5.0的一些错误。将库升级到1.5.1+(即使是当前的1.6.4)会破坏我在页面上的一些脚本,但是......(当然,修复一个问题,导致另一个问题)......
该脚本允许用户添加和减去一组输入框(因此,如果他们想要输入单个行项目,他们只会这样做......但是他们可以添加无限量的其他行项目。) / p>
//ADDS ANOTHER USER
$(".add-user").click(function() {
onemore = $("#userSelectBoxes").clone();
onemore.find(":input").each(function() {
$(this).val("");
});
$("#user_block > #userSelectBoxes:last").after(onemore);
set_add_del();
return false;
});
$(".removeable").click(function() {
$(this).parent().remove();
set_add_del();
return false;
});
function set_add_del() {
$('.remove_cat').show();
$('.add_cat').hide();
$('.add_cat:last').show();
$("#user_block > #userSelectBoxes:only-child > .remove_cat").hide();
}
HTML中的添加和删除按钮如下(并且它们基本上只添加了另一个输入字段的DIV):
<a href="#" class="remove_cat removeable">-</a>
<a href="#" class="add_cat add-user">+</a>
所以使用1.5.0 - 这将正常工作,让我点击+或 - 无限次,并始终运行。使用1.5.1+,我可以单击+ ONCE,然后没有其他工作(添加或删除)。
有什么想法吗?希望我把所有需要的东西都包括在内......
更新9/27/11 @美国东部时间下午5:05 我按照下面评论中的建议。没运气。它实际上表现完全一样......
我应该注意到,当我第二次点击时,它不仅没有用(正如我之前所说的那样),而且还会让我重新回到屏幕顶部。
这是最新的代码......
$(".add-user").click(function(){
onemore = $(".userSelectBoxes").first().clone();
onemore.find(":input").each(function(){
$(this).val("");
});
$("#user_block > .userSelectBoxes:last").after(onemore);
set_add_del();
return false;
});
$(".removeable").click(function(){
$(this).parent().remove();
set_add_del();
return false;
});
function set_add_del(){
$('.remove_cat').show();
$('.add_cat').hide();
$('.add_cat:last').show();
$("#user_block > .userSelectBoxes:only-child > .remove_cat").hide();
}
答案 0 :(得分:1)
您可以在页面上使用两个不同版本的jQuery。加载库的第二个版本后,您需要调用.noConflict()
。这会将$
对象的值重置为库的第一个版本。
<script type="text/javascript" src="jquery.1.5.0.js"></script>
<script type="text/javascript" src="jquery.1.5.1.js"></script>
<script type="text/javascript">
$.noConflict();
//'$' now refers to 1.5.0
//'jquery' now refers to 1.5.1
</script>