我知道我在这里读过一些关于这个的东西,或者说我错了,但是有没有办法说一下如果调用一个函数,或者在init和on window resize上运行一个代码,从一行开始? 我的意思是,而不是:
if (somecondition){
console.logo('runs on init');
};
$(window).resize(function(){
if (somecondition){
console.logo('same condition runs on resize');
};
};)
可以这样编写:
window(init,resize){
if (somecondition){
console.logo('runs both on init and resize');
};
}
不知道这是否完全存在,甚至存在,是因为它确实令人讨厌,因为它确实让一大堆代码在初始和重新调整大小的地方复制它。
谢谢!
答案 0 :(得分:2)
然后创建一个函数......像这样
var someAction = function(){
console.log('runs both on init and resize');
};
if (somecondition) {
someAction();
}
$(window).resize(someAction);
答案 1 :(得分:1)
最好我能想到的就是将你想要执行的所有代码放到一个命名函数中,例如:
function namedFunc() {
if (somecondition){
console.logo('runs on init');
};
}
然后一次性向窗口添加两个事件侦听器,并将它们传递给命名函数。
$(window).on({
ready: namedFunc,
resize: namedFunc
});