Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编写重复函数的优雅方法_Javascript_Jquery_Organization - Fatal编程技术网

Javascript 编写重复函数的优雅方法

Javascript 编写重复函数的优雅方法,javascript,jquery,organization,Javascript,Jquery,Organization,在JS/jQuery中,通常需要做一些事情,然后在某些情况下重复它 比如像这样的,这只是一个例子: $(window).load(function() { scaleSomething(); $(window).resize(function() { scaleSomething(); }); }); 写这种东西的优雅方式是什么?因为在这种情况下,一个函数/代码块总是加倍。您必须使用.on绑定多个事件。请阅读以了解更多信息 试试看 您必须使用.on绑定多个事件。请阅读以了解更多信息 试试

在JS/jQuery中,通常需要做一些事情,然后在某些情况下重复它

比如像这样的,这只是一个例子:

$(window).load(function() {

scaleSomething();

$(window).resize(function() {
scaleSomething();
});

});

写这种东西的优雅方式是什么?因为在这种情况下,一个函数/代码块总是加倍。

您必须使用
.on
绑定多个事件。请阅读以了解更多信息

试试看


您必须使用
.on
绑定多个事件。请阅读以了解更多信息

试试看


尝试在创建侦听器后立即触发事件:

$(window).on('resize', function() {
    scaleSomething()
}).trigger('resize');

尝试在创建侦听器后立即触发事件:

$(window).on('resize', function() {
    scaleSomething()
}).trigger('resize');

使用上的
将事件处理程序附加到多个事件。这些事件作为第一个参数传递给
on
函数。参数应该是一个字符串,事件名称由空格分隔

$(window).on("load resize", function(){
   scaleSomething();
});

function scaleSomething(){
   alert("scaling");
}

JS Fiddle:

使用
上的
将事件处理程序附加到多个事件。这些事件作为第一个参数传递给
on
函数。参数应该是一个字符串,事件名称由空格分隔

$(window).on("load resize", function(){
   scaleSomething();
});

function scaleSomething(){
   alert("scaling");
}

JS Fiddle:

使用“.on”方法时,您可以对空间分隔的事件进行分组:


使用“.on”方法时,可以对空间分隔的事件进行分组:


@告诉我我做错了什么。这样我才能纠正它。告诉我我做错了什么。所以我可以纠正它。这个答案在这个特定的上下文中是好的,但它并不完全是我的意思。正如我所说,这是一个例子。我需要为这个话题想出一个更好的例子……你能给我另一个同样困扰你的例子,这样我就能更清楚地看到你的问题吗?这个答案在这个特定的背景下是好的,但它并不完全是我的意思。正如我所说,这是一个例子。我需要为这个话题想出一个更好的例子……你能不能给我另一个同样困扰你的例子,这样我就能更清楚地看到你的问题?