3

有没有办法在任何事件发生火灾时说

    $('#foo').bind('click', function() {
          alert($(this).text());
     });

我正在尝试为某个事件测试一段代码,而不是进入那里。只是希望它在任何事件之前触发。

    $('#foo').bind('ANY', function() {
          alert($(this).text());
     });
4

3 回答 3

2

没有监听所有事件的简写。

您可以开箱即用的最接近的事情是手动指定它们:

$('#foo').bind('blur change click dblclick focus focusin focusout hover keydown ...', function() {
    alert($(this).text());
});

请注意,插件可能会触发自己的事件,可能是命名空间的。您无法在不了解这些事件并手动指定它们的情况下收听这些事件。

于 2012-04-12T20:25:43.190 回答
0

您可以在绑定函数的第一个参数中指定用空格分隔的每个事件。这将绑定到所有事件。要查看 jquery 涵盖的所有事件,请访问文档。

于 2012-04-12T20:26:39.237 回答
0

我认为这是不可能的,但您可以使用 Firebug 查看绑定到页面元素的所有事件。

打开 Firebug,然后在控制台中写入以下内容:

$("#foo").data("events"); 

这应该显示绑定到 #foo 元素的任何事件。

于 2012-04-12T20:36:31.367 回答