Javascript jQuery:在同一元素上的同一事件上,但在两个不同的时间点执行多个操作

Javascript jQuery:在同一元素上的同一事件上,但在两个不同的时间点执行多个操作,javascript,jquery,Javascript,Jquery,我们知道多次调用$(document.ready();在同一页中是可能的。我需要一些类似的点击事件 情况: 另一个团队在外部JS文件的某个地方实现了这一点: $('#element').live('click', function() { /* Do this */} ); 它是#元素上的live()单击侦听器。我无法修改此代码或该文件,但我需要在同一事件的同一元素上执行其他操作。因此,单击#元素时将发生两个操作。换句话说,我需要这个等价物: $('#element').live('cli

我们知道多次调用$(document.ready();在同一页中是可能的。我需要一些类似的点击事件

情况: 另一个团队在外部JS文件的某个地方实现了这一点:

$('#element').live('click', function() { /*  Do this */} ); 
它是#元素上的live()单击侦听器。我无法修改此代码或该文件,但我需要在同一事件的同一元素上执行其他操作。因此,单击#元素时将发生两个操作。换句话说,我需要这个等价物:

$('#element').live('click', function() { /*  Do this */} ); 
/* Some code later... */
$('#element').live('click', function() { /*  Add another action */} ); 
我试着做上述操作,但第二次呼叫没有启动。它必须是.live(),因为正在动态添加#元素


有没有办法向#元素上的同一事件添加更多操作?谢谢。

我建议实际上可以更轻松地解除现有live()调用的绑定,然后将其与您自己的代码一起包含在您自己的方法中。这是假设您被允许并且这样做是可行的。

每次绑定事件处理程序时,您都会将其安装到处理程序链上,所有这些处理程序都将被调用。因此,除了无法更改的代码之外,还可以绑定自己,因为它们返回false,这就阻止了事件被触发。看

从处理程序返回false是错误的 相当于调用两者 .preventDefault()和 .stopPropagation()对事件进行处理 反对


它们的调用位于单独的库和命名空间中,因此我无法解除绑定并将它们的代码添加到我的中。看起来它们的事件处理程序返回false。那会阻止我打电话吗$(“#element”).live('click',function(){p.log_in();return false;});看起来他们的事件处理程序返回false。这会阻止我添加吗$(“#element”).live('click',function(){p.log_in();return false;});坚果…感谢jQuery文档中的引用。虽然我无法更改其他团队的代码,但我只是根据ChessWhiz的答案找到了另一种解决方法,从不同的角度看待问题。我发现我的团队控制着上面的HTML。我在#元素上添加了一个新的类名,并以.live()为目标。这很有效。