我在jquery的ready函数中附加了一个自定义的事件处理函数。之后,我立即成功触发了该自定义事件。jquery - 触发自定义事件
$(function(){
$("body").on("test", function(){
alert("test triggered");
}
$("body").trigger("test");
}
但是,当我在控制台中触发它时,什么都不会发生。为什么?
我在jquery的ready函数中附加了一个自定义的事件处理函数。之后,我立即成功触发了该自定义事件。jquery - 触发自定义事件
$(function(){
$("body").on("test", function(){
alert("test triggered");
}
$("body").trigger("test");
}
但是,当我在控制台中触发它时,什么都不会发生。为什么?
首先你有语法错误
$(function(){
$("body").on("test", function(){
alert("test triggered");
}); < ---- Missing this
$("body").trigger("test");
});
其次,你可以不触发从控制台的事件,作为$(function() {});
形成一个闭合和你将无法访问其中的任何方法
为了让它像您所期望的那样工作,请在您的脚本文件中添加一个调试点,然后尝试触发事件。当事件在范围内时,它现在起作用。
当然可以。在控制台中执行'$(“body”)。trigger(“test”);''会工作。为什么它不工作? '$'是一个全局变量。 –
我对语法错误表示歉意。不知道一个事件监听者不会听到关闭之外发生的事件。谢谢! – JJK
它看起来像你的代码格式不正确。检查您的调试控制台以确认。
你可以试试这个:
$(function(){
$("body").on("test", function(){
alert("test triggered");
});
$("body").trigger("test");
}
语法错误... – Musa
.on - 将一个或多个事件的事件处理函数附加到所选元素。这里有什么活动? – zod
@dementic请不要更改编辑 – Musa