I面临着移动-safari(在IOS8.2/8.3和4.1中)中jQuery逻辑的奇怪行为,它在 chrome、mozilla和ie__中运行精细功能。
My Requirement:我有一个列表复选框,每次只能选择一个,比如单选按钮(它是我的要求)。有四个按钮(创建、查看、编辑、删除)对应于提供的每个复选框。
当任何复选框被选中时,我将禁用创建按钮并启用视图、编辑、删除按钮和
如果其中任何复选框是未选中的,则为启用创建按钮和禁用视图/编辑/删除按钮,为此我在下面编写了代码:
创建按钮类名称:“禁用检查” 查看/编辑/删除按钮类名:“启用检查”
$(':checkbox').on('change',function(){
var curr = $(this);
if(curr.is(':checked')){
$(".enable-on-check").addClass("click-enabled").removeClass("click-disabled");
$(".disable-on-check").removeClass("click-enabled").addClass("click-disabled");
$('.chkbx').prop("checked",false); //to make checkbox to behave like a radio button
$(this).prop("checked",true); //to make checkbox to behave like a radio button
}
else{
$(".enable-on-check").removeClass("click-enabled").addClass("click-disabled");
$(".disable-on-check").removeClass("click-disabled").addClass("click-enabled");
} });My Problem:在移动-safari(IOS8.2/8.3和4.1 )中,当我选中任何复选框(超过两次或三次)时,创建按钮将被突出显示为,而不是视图/编辑/DELETE按钮
如果我取消选中,那么任何一个复选框视图/编辑/删除按钮都将启用,而不是CREATE-按钮--这正是我逻辑中的反向行为。
请帮帮我,为什么我只在移动旅行中遇到这个问题??预先谢谢
发布于 2015-06-09 10:24:22
经过大量的尝试,改变事件类型帮助我解决了这个问题。
在我的经验中,我观察到的是.on('change')在某些情况下两次调用我的逻辑(不知道为什么)。因此,我尝试使用.on('keydown单击‘),现在一切都很好:)
最后,答案是:
$(':checkbox').on('keydown click',function(){
var curr = $(this);
if(curr.is(':checked')){
$(".enable-on-check").addClass("click-enabled").removeClass("click-disabled");
$(".disable-on-check").removeClass("click-enabled").addClass("click-disabled");
$('.chkbx').prop("checked",false); //to make checkbox to behave like a radio button
$(this).prop("checked",true); //to make checkbox to behave like a radio button
}
else{
$(".enable-on-check").removeClass("click-enabled").addClass("click-disabled");
$(".disable-on-check").removeClass("click-disabled").addClass("click-enabled");
} });https://stackoverflow.com/questions/30707194
复制相似问题