要求radio能实现点击选中再点击取消选中的功能,用JQuery来实现。结果没成功,出现的结果是未选中的情况下,点击后,还是未选中。查询资料发现是radio默认的click事件作祟。通过1.7版本以后的on()方法来手动添加事件和其处理方法,通过function(){return false;}来取消控件默认的事件和动作的触发,从而规避了这个问题,代码如下:
//radio控件有个默认的click事件,若不予以处理则会自动运行,就相当于执行了两次click第一次判断没有选中然后选中它,第二次发现选中了就取消了,所以结果就是一直选不上
$("input[type='radio']").on("mousedown", function () {
$(this).prop("checked", !$(this).prop("checked"));
return false;//取消默认动作
}).on("click", function () {
return false;//取消默认动作
});