如何触发(可能)覆盖事件?

时间:2012-02-23 01:44:22

标签: javascript jquery events

我创建了jQuery UI Dialog,在显示对话框后,无论用户点击何处,对话框都会关闭。我通过向body标签添加click事件来实现这一目标。

$("body").click(function() {
   $("#myDialog").dialog("close").dialog("destroy");
});

除了3rd party Grid API我正在使用并发现这个Grid API源代码之外,它工作正常,它定义了onclick事件,如下所示:

this.obj.onclick = function(e){
    console.log("grid API clicked");
    this.grid._doClick(e||window.event);

    if (this.grid._sclE) {
        this.grid.editCell(e||window.event); 
    }

    (e||event).cancelBubble=true;
};

当我在Grid中单击时,log msg“grid API clicked”显示在我的firebug中,但是我的body click事件没有被触发,所以我认为事件没有冒泡到行中指定的body click事件(e||event).cancelBubble=true;

如果我将其设置为false,则点击网格不起作用,不想更改第三方API中的代码。

那么,有什么解决方法可以让人体点击工作吗?

1 个答案:

答案 0 :(得分:0)

可能过于简单而不是最好的方法,但是如果您乐意编辑Grid API源代码,请将其添加到其中......

$("body").click();

它将触发body元素上定义的click事件。如果这不起作用,那么还有其他事情发生。

相关问题