鍍金池/ 問答/HTML/ IE8下,input移除disabled后的首次鼠標(biāo)造成的blur事件不觸發(fā)

IE8下,input移除disabled后的首次鼠標(biāo)造成的blur事件不觸發(fā)

問題描述:兩個(gè)input,id分別為a和b,b默認(rèn)為不可用的狀態(tài),即disabled狀態(tài),a綁定了change事件能控制b的可用狀態(tài)(當(dāng)a有值時(shí),b可用,反之則不可用),同時(shí)b又綁定了blur事件,當(dāng)a從空數(shù)據(jù)填寫數(shù)據(jù)后立即點(diǎn)擊b輸入框,此時(shí)b就已變成可用狀態(tài),且此時(shí)光標(biāo)在b輸入框中,當(dāng)首次點(diǎn)擊b輸入框以外的區(qū)域時(shí),不會(huì)觸發(fā)b所綁定的blur事件,之后點(diǎn)擊b后再點(diǎn)b以外的區(qū)域,才會(huì)觸發(fā)b所綁定的blur事件

代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <title>Title</title>
</head>
<body>
<div id="box">
    <input id="a">
    <input id="b" disabled>
</div>
<script src="../../../lib/jquery/jquery.min.js"></script>
<script>
    $(function () {
        $('#box').on('blur','#b',function () {
            alert('bbbbbbbbbb');
        });
        $('#box').on('change','#a',function () {
            if($(this).val()){
                $('#b').removeAttr('disabled');
            }else{
                $('#b').attr('disabled','disabled');
            }
        });
    });
</script>
</body>
</html>

求高手指教如何才能在首次從b點(diǎn)擊到b以外區(qū)域就能觸發(fā)b的blur事件,并告知一下原因

回答
編輯回答
絯孑氣

你應(yīng)該是有值就解開b,而不是a失去焦點(diǎn)在解開b,change改成input事件

     $('#box').on('input','#a',function () {
            if($(this).val()){
                $('#b').removeAttr('disabled');
            }else{
                $('#b').attr('disabled','disabled');
            }
        });
2018年8月25日 12:15