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

时间:2011-08-09 19:58:23

标签: javascript

当用户点击(hideLogin(event)实际上)除

之外的任何地方时,我需要运行函数onmousedown
<div id="loginForm">

我该怎么做?感谢

3 个答案:

答案 0 :(得分:2)

使用jQuery:

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

没有jQuery:

<body onmousedown="onBodyClick()">

代码:

function onBodyClick() {
    if (this.id != 'loginForm') {
        hideLogin();
    }
}

答案 1 :(得分:1)

您可以在此处查看一个有效的示例:http://jsfiddle.net/qMEJR/

该示例创建了100个div,第10个具有ID“loginForm”。点击任何div除了id为loginForm的ID div将提醒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 } }); 点击的ID。

JavaScript(jQuery):

{{1}}

答案 2 :(得分:0)

为什么不在用户点击任何地方时运行该函数,并添加一个条件,以便在元素 loginForm 时它不执行任何代码?