如果点击不在rl_menu /任何子元素(.comment,.rl_arrow等)上,我想执行命令的代码如下
TBR.mouse_down = function(e){
target = $j(this)
if (target != $j("#rl_menu") && target != $j("#rl_menu .comment") &&
target != $j("#rl_menu .change") && target != $j("#rl_menu .rl_arrow_border") &&
target != $j("#rl_menu .rl_arrow")){
TBR.Menu.hide(); // this needs to be triggered when the menu is not clicked on.
}
}
但是当我检查目标时,目标就是文件。
回顾一下:
文档中的任何位置,当按下鼠标时,应执行TBR.Menu.hide()
。但如果点击位于#rl_menu
范围内,则不应执行TBR.Menu.hide()
。
我是以错误的方式解决这个问题吗?
答案 0 :(得分:3)
你可以写一点吗?
$(function(){
$("body").click(function(e){
var t = $(e.target);
if( !t.is("#rl_menu") && t.closest("#rl_menu").length == 0)
{
alert("CLICKD OUTSIDE THE GREEN")
}
});
});
答案 1 :(得分:0)
如果事件冒泡,event.target
将指向要绑定的元素事件。要点击元素,请使用event.originalEvent.target
。