如何使用jQuery触发自定义事件?

时间:2013-06-19 23:42:04

标签: jquery event-handling jquery-events custom-events

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

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

2 个答案:

答案 0 :(得分:5)

首先,语法错误

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

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

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

答案 1 :(得分:4)

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

你可以试试这个:

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