谁能告诉我为什么这段代码不起作用?
$('body').on('test', function() {
alert('test');
});
$('body').trigger('test');
我正在使用jquery-1.7.2.min。我没有收到任何错误,只是没有任何反应。
我尝试将代码放在内联脚本中,在 a 中$(document).ready()
,但仍然没有。我也试过了on()
,bind()
都没有结果。我看到所有示例都显示相同的语法,那么这有什么不同呢?
谁能告诉我为什么这段代码不起作用?
$('body').on('test', function() {
alert('test');
});
$('body').trigger('test');
我正在使用jquery-1.7.2.min。我没有收到任何错误,只是没有任何反应。
我尝试将代码放在内联脚本中,在 a 中$(document).ready()
,但仍然没有。我也试过了on()
,bind()
都没有结果。我看到所有示例都显示相同的语法,那么这有什么不同呢?
看来问题在于 DOM 以某种方式准备就绪。将代码放在内联脚本中是行不通的。将它放在 a$(document).ready()
中可以使用匿名函数,但由于某种原因,不能使用 '( )' 进行函数调用。这段代码有效
$(document).ready(start);
function start(){
$('body').on('test', function() {
alert('test');
});
$('body').trigger('test');
}
但这并没有... *注意函数调用括号。
$(document).ready(start());
function start(){
$('body').on('test', function() {
alert('test');
});
$('body').trigger('test');
}
一个确切的示例在jsfiddle上可以双向使用,但由于某种原因,我的服务器上只有一种方式可以使用。我想这会引发另一个问题,但至少我们可以看到这段代码确实有效,我的东西有一些奇怪的异常:/
尝试委托:
$(document).on('test', 'body', function() {
alert('test');
});
$('body').trigger('test');
这就像以前的 live() 一样工作。 http://api.jquery.com/live/