Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当子单选按钮失去焦点时,在父按钮上触发focusout_Javascript_Jquery - Fatal编程技术网

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键获得焦点。如果他们一开始没有注意力,他们显然不能失去它。好吧,如果是这样的话。。。我刚刚添加了第二个事件,“单击”单选按钮上的事件。这似乎解决了问题。一旦你点击了一个单选按钮,你就不能真正地松开它,这就是我试图验证的(单选按钮已经被选中)。