截获javascript事件

截获javascript事件,javascript,jquery,Javascript,Jquery,以下是我想做的: 我有一个带有一些链接的页面。大多数链接都在onclick事件中附加了一个函数 现在,我想为一些链接设置一个css类,然后每当单击其中一个链接时,我想执行某个函数-在它返回后,我想让链接执行附加到它的onclick函数 有没有办法做我想做的事?如果jQuery起作用的话,我会使用它 下面是一个示例: $("#link").click(function1); $("#link").click(function2); $("#link").click(function(){ f

以下是我想做的:

我有一个带有一些链接的页面。大多数链接都在onclick事件中附加了一个函数

现在,我想为一些链接设置一个css类,然后每当单击其中一个链接时,我想执行某个函数-在它返回后,我想让链接执行附加到它的onclick函数

有没有办法做我想做的事?如果jQuery起作用的话,我会使用它

下面是一个示例:

$("#link").click(function1);
$("#link").click(function2);
$("#link").click(function(){
   firstFunctionToBeCalled(function (){
      // ok, now execute function1 and function2
   });
}); // somehow this needs to be the first one that is called


function firstFunctionToBeCalled(callback){
    // here some user input is expected so function1 and function2 must not get called
    callback();

}

所有这一切都是因为我被要求为许多按钮放置一些确认框(使用长方体),我真的不想检查每个按钮。

我将使用jQuery的unbind删除任何现有事件,然后绑定一个函数,该函数将按照我想要的顺序编排我想要的事件

绑定和取消绑定都在jQuery.com上的jQuery文档中,工作方式如下

$(".myClass").unbind("click"); // removes all clicks - you can also pass a specific function to unbind

$(".myClass").click(function() {
    myFunctionA();
    myFunctionB($(this).html()); // example of obtaining something related to the referrer
});

我将使用jQuery的unbind删除任何现有事件,然后绑定一个函数,该函数将按照我想要的顺序编排我想要的事件

绑定和取消绑定都在jQuery.com上的jQuery文档中,工作方式如下

$(".myClass").unbind("click"); // removes all clicks - you can also pass a specific function to unbind

$(".myClass").click(function() {
    myFunctionA();
    myFunctionB($(this).html()); // example of obtaining something related to the referrer
});

一个丑陋的黑客将使用mousedown或mouseup事件。这些将被调用。

一个丑陋的黑客将使用mousedown或mouseup事件。这些将被称为。

如果我理解正确,这是你想做的事吗

var originalEvent = page.onclick;   //your actual onclick method
page.onclick = handleinLocal;       //overrides this with your locaMethod

function handleinLocal()
{     ...your code...     
   originalEvent (); 
 // invoke original handler
}

如果我没弄错的话,这是你想做的事吗

var originalEvent = page.onclick;   //your actual onclick method
page.onclick = handleinLocal;       //overrides this with your locaMethod

function handleinLocal()
{     ...your code...     
   originalEvent (); 
 // invoke original handler
}

如果可以在其他处理程序之前添加事件处理程序,那么可以尝试使用jQuery的

如果可以在其他处理程序之前添加事件处理程序,那么可以尝试使用jQuery的

那么附加到元素的onclick函数呢,问题是每个链接都有不同的方法-机制需要通用-因此我可以将其应用于任何元素。附加到元素的onclick函数如何?确切地说,问题是每个链接都有不同的方法-机制需要通用-因此我可以将其应用于任何元素。是的,但是,当单击该函数时,我需要执行一个函数并在该函数回调上继续运行它的所有click attached函数。是的,但当单击该函数时,我需要执行一个函数并在该函数回调上继续运行它的所有click attached函数。请参阅相关:请参阅相关: