Javascript 当子单选按钮失去焦点时,在父按钮上触发focusout
我有一个这样标记的信用卡选择区域:Javascript 当子单选按钮失去焦点时,在父按钮上触发focusout,javascript,jquery,Javascript,Jquery,我有一个这样标记的信用卡选择区域: <div id="payment1step2i" class="inputinline"> <span class="inputlabel">Credit card type:</span><br /> <label><input type="radio" name="payment1step2i" value="Visa" />Visa</label> <
<div id="payment1step2i" class="inputinline">
<span class="inputlabel">Credit card type:</span><br />
<label><input type="radio" name="payment1step2i" value="Visa" />Visa</label> <label><input type="radio" name="payment1step2i" value="Mastercard" />Mastercard</label>
</div>
jQuery('div#payment1step2i').on('focusout', function(e){
console.log('trigger checks');
});
至少在Firefox中(我主要测试的是Firefox),如果我单击
,然后从
选项卡上移开,我会得到一个触发器
然而,如果我直接点击一个单选按钮,然后按tab键,就不会触发
我的理解是focusout应该处理所有的子元素以及
本身(而
也是子元素)。只有单选按钮被选中时,我如何才能使focusout发生?我还注意到,如果我点击单选按钮,然后远离单选按钮,我将获得focusout。但如果我直接点击一个单选按钮,然后点击tab键,我就没有焦点了。我很确定div
元素只能通过tab键获得焦点。如果他们一开始没有注意力,他们显然不能失去它。好吧,如果是这样的话。。。我刚刚添加了第二个事件,“单击”单选按钮上的事件。这似乎解决了问题。一旦你点击了一个单选按钮,你就不能真正地松开它,这就是我试图验证的(单选按钮已经被选中)。