一个html/javascript'小工具'知道用户何时单击了小部件外的任意位置

How can an html/javascript 'widget' know when the user has clicked ANYWHERE OUTSIDE the widget?

本文关键字:小部 单击 任意 何时 位置 javascript html 工具 一个 用户      更新时间:2023-09-26

可能重复:
如何检测元素外部的单击?

假设我创建了一个HTML/javascript小部件。假设在渲染时,小部件位于任意数量的其他html元素的顶部、旁边或附近。

我希望能够让我的小部件在用户点击小部件内部以外的任何地方时自行修改。

这能做到吗?

将事件绑定到文档,然后测试点击事件的id。

http://jsfiddle.net/AgNmt/

$(document).on('click', function (event) {
    var $element = $(event.target);
    if ($element.attr('id') === 'mywidget') {
        // do nothing
    } else {
        alert('you have clicked outside the widget!');
    }
});​