Javascript 使用Jquery根据网页中的操作进行操作

Javascript 使用Jquery根据网页中的操作进行操作,javascript,jquery,events,webpage,Javascript,Jquery,Events,Webpage,任何人都知道如何做到这一点: 当一些用户通过关闭浏览器或选项卡或转到其他站点离开我的站点时,我希望执行一个操作(显示警报),如果用户单击指向我自己站点其他页面的链接或按钮,我希望执行另一个操作 如果我使用卸载事件,我无法区分用户的这两种行为。。。请帮忙,因为我真的需要它 谢谢你的帮助 在所有内部链接上设置一个标志: var isInternal = false; $('a[href^="http://mysite.com/"]').live('click', function() { i

任何人都知道如何做到这一点:

当一些用户通过关闭浏览器或选项卡或转到其他站点离开我的站点时,我希望执行一个操作(显示警报),如果用户单击指向我自己站点其他页面的链接或按钮,我希望执行另一个操作

如果我使用卸载事件,我无法区分用户的这两种行为。。。请帮忙,因为我真的需要它


谢谢你的帮助

在所有内部链接上设置一个标志:

var isInternal = false;
$('a[href^="http://mysite.com/"]').live('click', function() {
    isInternal = true;
});

// then in your onunload handler:

if (isInternal) {
    // perform action 1
} else {
    // perform action 2
}
更好的链接选择器可能如下所示:

$('a:not([href*="//"])')

但前提是你永远不要在自己的网站上使用绝对链接。

我同意这一点。然后,内部链接上的标记可以告诉您是否从页面导航。然而,我相信重要的是要注意,如果您在元素上使用onClick事件,然后使用javascript重定向,那么这将不起作用。但总的来说,这可能是您最好的解决方案。@John-根据单击处理程序的触发顺序,此方法可能仍然有效。如果我的“我的锚”看起来像
,此方法是否有效?。。。这还是内部的吧?非常感谢。。。这个方法做了我想做的90%。。。唯一一件我无法处理且感兴趣的事情是当我按F5并刷新页面时。。。我看到卸载事件被调用,就像我离开了站点,但我没有。