你能用纯JavaScript绑定jQuery事件吗?

时间:2011-11-08 02:02:23

标签: javascript jquery

我正在开展一个项目,许多不同的公司都在同一个网站上工作。

主要开发人员已经设置了一个事件 - 让我们称之为init - 这表明该页面已准备好执行我们的代码。

他们基本上就是这样称呼它:

$(window).trigger('init');

出于多种原因,我不会在这里讨论,我们宁愿尽可能避免在我们自己的代码中使用jQuery。我试着像这样绑定它:

window.addEventListener('init', function (event) {
    alert('hehehehe');
});

但这似乎不起作用。但这很有效:

$(window).bind('init', function (event) {
    alert('hehehehe');
});

默认情况下,jQuery是否使用特殊事件对象,您无法使用普通JS绑定?我只是在做些蠢事吗?

1 个答案:

答案 0 :(得分:3)

docs for bind似乎包含答案:

任何字符串对于eventType都是合法的;如果字符串不是本机DOM事件的名称,则处理程序绑定到自定义事件。这些事件永远不会被浏览器调用,但可以使用.trigger()或.triggerHandler()从其他JavaScript代码手动触发。

没有名为'init'的原生DOM事件:

http://en.wikipedia.org/wiki/DOM_events

因此“这些事件永远不会被浏览器调用,但可以使用.trigger()或.triggerHandler()从其他JavaScript代码手动触发”