有没有办法在模糊或聚焦事件上获得点击元素?

时间:2014-03-21 09:14:19

标签: javascript jquery click target blur

如何知道点击模糊或输入焦点的位置?

我已经勾画了一个小例子:

HTML:

<div id ="all">
    <div id="whereIsInput">
        <input id="blur"/>
    </div>
</div>

Css:

#whereIsInput{
    height: 100px;
    width: 200px;
    background-color: yellow; 
}

JS:

function onBlur(e){
    jQuery('#all').append('<div>' + e.type + ', ' + e.target.toString() + '</div>')    
}
jQuery('#blur').blur(onBlur);
jQuery('body').on('click', onBlur);

所以问题是:模糊发生时点击哪里?

我对此进行了调查: 1.无法在模糊或焦点事件参数中找到它 2.点击身体后发生模糊

1 个答案:

答案 0 :(得分:2)

您可以设置一个标记,以便在点击之前检查是否发生了模糊事件。

var blurred = false;//blur flag

$(document).on("click", function(){
    if(blurred){
        console.log(this);
        blurred = false;
    }
});

$("input#blur").on("blur", function(){
    blurred = true;//blur occurred
});