保留点击功能以在以后的活动中启动

时间:2015-09-21 21:02:08

标签: javascript jquery html

我想覆盖链接的点击功能,抛出警报,然后激活链接。这听起来有点令人困惑,所以希望我的代码能够清除它:

        // first, find all 'a' elements with the class 'some_class'
        $('a.some_class').click(function(event)
        {
            // capture the current click event
            var current_link = $(this).click;

            // stop the current link from firing
            event.preventDefault();

            // call to the alert function
            launchAlertAndAfterAction('Hello World', current_link);
        });

        function launchAlertAndAfterAction(message, after_action)
        {
            alert(message);
            if (after_action != null && after_action != undefined)
            {
                after_action();
            }
        }

此代码可防止链接触发,启动警报,但在弹出消息后它不会触发链接。错误如下:

Uncaught TypeError: this.trigger is not a function

我非常确定我的错误在于我的代码捕获当前的点击事件($(this).click),但我不太了解JavaScript能够得到我想要的东西

如果我能提供更多信息,请告诉我!

2 个答案:

答案 0 :(得分:3)

您的current_link变量不是您要执行的函数,它是一个jQuery单击处理程序。

您也不想立即阻止默认事件操作,而是让它等到其他结果(单击对话框按钮)返回。

请参阅此simple jsfiddle for adding a confirm action before following a link

答案 1 :(得分:1)

您必须更改文档的location

像:

document.location.replace( myHref );