1

所以在我的html中我有这部分:

<body ondblclick="myfunc();">
<div id="id1">dasd</div>
<div id="id2">dasda</div>
</body>

在javascript中,函数是:

function myfunc() {
    do stuff here...
}

我想知道在 myfunc() 中双击是在 html 正文的哪个元素上进行的,因为我不想在每个双击的元素上触发 myfunc()

那么如何检测双击元素的 id 呢?

4

4 回答 4

5
<body ondblclick="myfunc(event);">

function myfunc(e) {
    // e.target -> element that was clicked
}
于 2013-02-13T11:17:36.520 回答
1

使您的 HTML 为

<body ondblclick="myfunc(event);">

并使 myfunc 为:

function myfunc(event) {
     alert(event.target.id); //here you can get element id that is double clicked
     event.stopPropagation();
}
于 2013-02-13T11:20:40.337 回答
0
<!doctype html>
<html>
<head>
<meta charset=utf-8>
<title>ondblclick event example</title>
<script> 
    function initElement() {
        var body = document.getElementById("bdy");
        body.ondblclick = showAlert;
    }

    function showAlert(e){
        alert(e.target.id);
    }
    window.onload = initElement;
</script>
</head>
<body id="bdy">
<div id="id1">dasd</div>
<div id="id2">dasda</div>
</body>
</html>
于 2013-02-13T11:50:21.873 回答
0

您可以使用 on 或 bind 假设定义不同的事件。

$("#id").on("doubleClick",function () {} );

所以它会知道它的双击事件..

或者对于javascript,您可以像这样使用

<body ondblclick="myfunc(event);">

function myfunc(event) {
    do something..

}
于 2013-02-13T11:17:02.843 回答