问题描述:两个input,id分别为a和b,b默认为不可用的状态,即disabled状态,a绑定了change事件能控制b的可用状态(当a有值时,b可用,反之则不可用),同时b又绑定了blur事件,当a从空数据填写数据后立即点击b输入框,此时b就已变成可用状态,且此时光标在b输入框中,当首次点击b输入框以外的区域时,不会触发b所绑定的blur事件,之后点击b后再点b以外的区域,才会触发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点击到b以外区域就能触发b的blur事件,并告知一下原因
你应该是有值就解开b,而不是a失去焦点在解开b,change改成input事件