我有一个附加到一组单选输入的单击事件处理程序,并且想查看我是否单击了已选择的单选按钮(已设置属性“已检查”)。我认为事件处理程序将以菊花链方式运行(首先在单击时调用我的事件处理程序,然后继续沿链向下执行单击的默认行为)。显然情况并非如此,因为当我评估我刚刚单击的单选按钮上的“已检查”属性是否为真时,它总是在我的单击事件处理程序中返回真。
默认行为已经处理了单击,并且已经将“checked”属性应用于我刚刚单击的单选按钮。同样,我认为我的 click 事件处理程序将在默认行为之前处理。更奇怪的是,即使我阻止了默认行为,它仍然为“checked”属性返回 true。我认为这是因为 'change' 事件正在处理 'checked' 属性,因此阻止我的 click 事件处理程序的默认行为不会影响任何事情。
$("input[type='radio']").click(function(e) {
e.preventDefault();
alert($(this).prop("checked")); // always returns true; i want prop value immediately prior to click
});
我怎样才能实现我所追求的?也就是说,查看刚刚单击的单选按钮是否已被选中。谢谢。