10

我将一个自定义事件处理程序附加到bodyjQuery 的ready方法中。
之后我立即trigger自定义事件,但似乎没有发生任何事情。

$(function(){
    $("body").on("test", function(){ alert("test triggered"); }
    $("body").trigger("test");
}
4

2 回答 2

6

首先你有一个语法错误

$(function(){
    $("body").on("test", function(){
        alert("test triggered");
    });  < ---- Missing this
    $("body").trigger("test");
});

其次,您不能从控制台触发事件,因为$(function() {}); 形成了一个闭包,您将无法访问其中的任何方法

要让它像您期望的那样工作,请在您的脚本文件中放置一个调试点,然后尝试触发该事件。它现在可以工作,因为事件在范围内。

于 2013-06-19T23:49:24.610 回答
4

看起来您的代码格式不正确。检查您的调试控制台以确认。

你可以试试这个:

$(function(){
    $("body").on("test", function(){
        alert("test triggered");
    });
    $("body").trigger("test");
}
于 2013-06-19T23:46:46.797 回答