返回false,不取消在Chrome中单击单选按钮,当没有选择其他值
Return false doesn't cancel radio buttons click in Chrome when no other value selected
我正在尝试取消单选按钮点击。我有一个像这样的jquery点击处理程序:
$("#myList").on("click","input", function(){
return false;
});
当已经有一个选定的值时,这可以正常工作。但是,如果我从一个没有选定值的组中单击一个单选按钮,则返回false不起作用,并且我单击的元素实际上被选中了。
什么线索吗?
编辑:下面是演示问题的小提琴:
http://jsfiddle.net/SFZMm/2/Edit2:
刚刚发现这只发生在chrome上:(Firefox和IE工作如预期。也许有个变通办法?
这里,试试这个JS_FIDDLE-DEMO
它检测父容器上的点击。而不是单选按钮本身。
//listen to click on parent div,span,li for example.
$("#myList-parent").click(function(){
alert('You clicked radio!');
//Now put your logic here. I decide based on the radio button value.
if($('input:radio[name=type]:checked').val() == "UnSelectable"){
alert($('input:radio[name=type]:checked').val());
return false;
}
});
更新(Chrome): JS-FIDDLE-DEMO似乎Chrome有on click
的问题,所以用on mousedown
替换它(或使用两者?):
$("input").on("mousedown",function(e) {
e.preventDefault();
if ($(this).is(':checked')) {
alert('This radio button was checked in mousedown');
} else {
alert('This radio button was not checked in mousedown');
}
});
使用change方法代替click。
$("#myList").on("change","input", function(e){
if(something){
e.preventDefault();
} else{
//for test
alert('not true');
}
});
相关文章:
- 选择其中一个单选按钮,然后单击“提交”,重定向其他页面
- 其他单选按钮在使用 Javascript 函数根据 if 语句选择某些单选按钮后不可单击
- 单击其他单选按钮后取消选中单选按钮
- 如何在 Javascript 中禁用和启用其他按钮,例如单选按钮效果
- 如何在选择其他单选按钮后将其灰显,直到刷新
- 在选择任何其他单选按钮时清除文本框
- 如何一次只选择一个单选按钮,并在数据来自数据库时在javascript中取消选择其他单选按钮
- 单击功能时取消选中其他单选按钮
- 如何在jsp中插入单选按钮、复选框和其他输入类型
- JQuery移动单选按钮在选择其他按钮时保持选中状态.使用.html函数
- 谷歌地图-缩小时,信息窗口被关闭或其他单选按钮过滤器被“勾选”
- 使单选按钮单一选择:除了使用相同的名称之外的其他方式
- 操纵其他DOM元素时未选择单选按钮
- 如何使用Javascript在其他单选按钮中检查特定的单选按钮
- 如何使用选项为其他html元素的单选按钮
- 如何在未选中单选按钮时隐藏内容,并允许查看其他内容
- 禁用Asp.net单选按钮列表中的其他单选按钮(如果其中一个已选中)
- jquery代码工作正常,但其他单选按钮干扰了它的工作
- 将文本框“其他”值分配给单选按钮值
- 在单选按钮上设置 checked 属性是否会更改其他同名按钮上的选中属性