Javascript:在除一个div之外的任何div上onmousedown时运行函数

Javascript:在除一个div之外的任何div上onmousedown时运行函数,javascript,Javascript,我需要运行函数:hideLogin(event)当用户单击(onmousedown实际上)除此之外的任何位置时 <div id="loginForm"> 我该怎么做?感谢为什么不让函数在用户单击任意位置时运行,并添加一个条件,以便在元素为loginForm时不执行任何代码?为什么不让函数在用户单击任意位置时运行,并添加一个条件,以便在元素为loginForm?时,使用jQuery不执行任何代码: $('body *').click(function() { if (th

我需要运行函数:
hideLogin(event)
当用户单击(
onmousedown
实际上)除此之外的任何位置时

<div id="loginForm">


我该怎么做?感谢

为什么不让函数在用户单击任意位置时运行,并添加一个条件,以便在元素为loginForm时不执行任何代码?

为什么不让函数在用户单击任意位置时运行,并添加一个条件,以便在元素为loginForm

时,使用jQuery不执行任何代码:

$('body *').click(function() {
    if (this.id != 'loginForm') {
        hideLogin();
    }
});
没有jQuery:

<body onmousedown="onBodyClick()">
使用jQuery:

$('body *').click(function() {
    if (this.id != 'loginForm') {
        hideLogin();
    }
});
没有jQuery:

<body onmousedown="onBodyClick()">

您可以在此处查看工作示例:

该示例创建了100个div,第10个div的ID为“loginForm”。单击任何
div
(id为loginForm的除外)将提醒单击的
div的id

JavaScript(jQuery):

for(var i=0;i<100;i++){
    if(i==10){
        $("body").append('<div id="loginForm">LoginForm</div>');    
    }else{
        $("body").append('<div id="div-'+i+'">'+i+'</div>');
    }
}
$("div").click(function(){ 
    var obj = $(this);
    var objID = obj.attr("id");
    if(objID != "loginForm"){
        alert(obj.attr("id")); // Replace with function here
    }
});

对于(var i=0;i您可以在此处查看一个工作示例:

该示例创建了100个div,其中第10个div的ID为“loginForm”。单击任何
div
,除了ID为loginForm的div之外,都会提醒单击的
div的ID

JavaScript(jQuery):

for(var i=0;i<100;i++){
    if(i==10){
        $("body").append('<div id="loginForm">LoginForm</div>');    
    }else{
        $("body").append('<div id="div-'+i+'">'+i+'</div>');
    }
}
$("div").click(function(){ 
    var obj = $(this);
    var objID = obj.attr("id");
    if(objID != "loginForm"){
        alert(obj.attr("id")); // Replace with function here
    }
});

for(var i=0;它将引用实体的id,因为它是您正在单击的对象,而不是div本身。它将引用实体的id,因为它是您正在单击的对象,而不是div本身。