javascript - 仅当事件默认被阻止/未被阻止时才运行函数

标签 javascript jquery jquery-events preventdefault

是否有一种方法可以仅在 event.preventDefault() 被某个事件调用时(由另一个未知函数)运行一个函数。这是一个 jQuery 插件,所以我不知道页面的其他部分可能在做什么。我试过这个:

Event.test = Event.preventDefault;
Event.preventDefault = function () {
    alert('Success');
    this.test();
}

但它不起作用...只是表现正常,没有错误。

相反,我也希望相反...仅在未调用 event.preventDefault() 时才调用函数。实际上,将功能添加到事件的默认操作。有任何想法吗?这一切有可能吗?

编辑:根据评论,我找到了第一个问题的解决方案:http://jsfiddle.net/nathan/VAePB/9/ .它在 Chrome 中工作(警告 function preventDefault() { [native code] },但 IE 警告 undefined。所以 IE 不会让我定义 Event.prototype .test,但它会让我重新定义 Event.prototype.preventDefault。很奇怪。我相信我可以根据这个问题想出解决第二个问题的方法,如果我可以让它在 IE 中工作。

最佳答案

我不确定我是否理解。你不能像this那样使用event.isDefaultPrevented()吗?

关于javascript - 仅当事件默认被阻止/未被阻止时才运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285976/

相关文章:

javascript - 如何对 HTML 的 PHP 字符串进行编码以供 JavaScript 函数用作字符串?

jQuery:在这种情况下如何选择属性?

javascript - Hammer.js:Android 网站捏合事件未触发

php - jQuery JSON 和 PHP 关联数组数组问题

javascript - jQuery.load();并不总是用图像射击

javascript - 如何在 PHP/html/Javascript 上锁定/解锁鼠标滚动?

javascript - Kendo UI 自动完成 - 两次选择同一事物时更改事件未触发

javascript - 2个函数同时分别处理onchange事件

javascript - jQuery.post() 似乎由于某种原因被跳过

javascript - 如何在 JavaScript 中正确覆盖 console.warn