首先,代码是有效的,但在我看来并不理想。
我喜欢Javascript中的匿名函数。因此,在注册onclick处理程序时,我可以使用匿名函数:
$(function()){
$(".foo").on("click", function() {
..
});
}但有时,我意识到我需要调用函数也是onReady。因此,我可以将代码转换为:
$(function()){
function bar() { .. }
$(".foo").on("click", bar);
bar(); //'onload'
}但这是一项很大的工作!(懒惰是程序员的一个好特点)。我必须创建一个非匿名函数,更改onclick注册等。是否可以保留匿名功能?
在理想的情况下,我有这样的想法:
$(function()){
$(".foo").on("click onDomLoaded", function() {
..
});
}但这不管用。
(我看到的唯一选项是扩展'on‘函数,但这似乎很难看)
发布于 2014-09-04 20:35:58
@tymejV的想法很接近,但我可能会产生一些意想不到的副作用--例如,已经有限制的单击事件。幸运的是,“同名事件”在jQuery中解决了这个问题:
$(function()){
$(".foo").on("click load.somenamespace", function() {
..
}).trigger("load.somenamespace");
}发布于 2013-11-01 00:24:51
您可以在加载时添加.click()尾随以触发:
$(".foo").on("click", function() {
..
}).click(); //trigger on load发布于 2013-11-01 12:31:14
试试这个可能对你有帮助。
$(function()){
$(".foo").on("click", function(){ bar();});
bar(); //'onload'
}
function bar() { .. }https://stackoverflow.com/questions/19718883
复制相似问题