我有一个包含许多iframe
的页面,我应该在顶部正文附加菜单,在所有页面上打开drop-down menu
。
问题是我如何catch
下一次点击鼠标来关闭菜单?因为我不知道它将在哪个帧中,所以我无法向右侧click listener
添加iframe
。
有没有办法捕获click event
而不是目标元素上的click事件?
jsFiddle example - 如果我在iframe内部点击,则不会删除菜单!
答案 0 :(得分:1)
您可以使用这种解决方法,它适用于任何iframe(也可以跨域)。但需要更多测试:
$(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