我有一个带有点击事件的按钮(来自3.Party库),它提交了一个表单。我喜欢删除click事件,添加我自己的函数,并在验证后调用原始事件。
我以为我只是添加了一个event.stopImmediatePropagation();,但这并不起作用。也许是因为添加了(?)的事件的顺序。
是另一种管理事件执行的方式吗?
或者我怎样才能让旧的事件做这样的事情:
originalClickEvent = $('#button').doSomeMagicAndGetTheEvent('click');
$('#button').unbind();
$('#button').bind('click', function (event) {
if (valid()) originalClickEvent();
});发布于 2011-12-21 17:45:39
看这里,Remove all JavaScript event listeners of an element and its children?
删除事件侦听器后,可以附加自定义事件。
如果我没理解错的话,这就是你要搜索的效果:http://jsfiddle.net/ftGHq/
发布于 2011-12-21 18:05:37
如果单击事件仅绑定到一个函数,则可以覆盖该函数:
var oldFunction = theOldFunction;
function myFunction(control) {
oldFunction(control);
}
$('#button').unbind();
$('#button').click(myFunction); https://stackoverflow.com/questions/8587754
复制相似问题