用javascript抓住鼠标点击

时间:2014-05-20 09:42:30

标签: javascript jquery html iframe mouseevent

我有一个包含许多iframe的页面,我应该在顶部正文附加菜单,在所有页面上打开drop-down menu
问题是我如何catch下一次点击鼠标来关闭菜单?因为我不知道它将在哪个帧中,所以我无法向右侧click listener添加iframe
有没有办法捕获click event而不是目标元素上的click事件?

jsFiddle example - 如果我在iframe内部点击,则不会删除菜单!

1 个答案:

答案 0 :(得分:1)

您可以使用这种解决方法,它适用于任何iframe(也可以跨域)。但需要更多测试:

--DEMO--

$(focusWindow);

$('iframe').on('mouseenter', function () {
    $(window).on('blur', iframeclicked);
}).on('mouseleave', function () {
    $(window).off('blur', iframeclicked);
    if($(document.activeElement).is('iframe'))
        focusWindow();
});

function iframeclicked(){
     $("#myMenu").remove();
}

function focusWindow(){
    $('<div/>').attr('tabindex',-1).prependTo('body').focus().remove();
}

//$(window).mouseenter(focusWindow); << removed it