事件管理:代替单击“事件”

Event managment: Replace click event

本文关键字:事件 单击 管理      更新时间:2023-09-26

我有一个按钮与点击事件(从一个3。缔约方图书馆),它提交表单。我喜欢删除click事件,添加我自己的函数,并在验证后调用原始事件。

我以为我只是添加了一个event.stopImmediatePropagation();,但那不起作用。可能是因为事件添加的顺序(?)。

是管理事件执行的另一种方法吗?

或者我如何让旧事件做这样的事情:

originalClickEvent = $('#button').doSomeMagicAndGetTheEvent('click');
$('#button').unbind();
$('#button').bind('click', function (event) {
  if (valid()) originalClickEvent();
});

看这里删除一个元素及其子元素的所有JavaScript事件监听器?

删除事件监听器后,您可以附加自定义事件。

如果我没理解错的话,这就是你要找的效果:http://jsfiddle.net/ftGHq/

如果click事件仅绑定到一个函数,则可以覆盖该函数:

var oldFunction = theOldFunction;
function myFunction(control) {
    oldFunction(control);
}
$('#button').unbind();
$('#button').click(myFunction);