Удаление прослушивания события 
		
		
		
		Приветствую,  помогите, знающие люди, как решить проблему? 
	
function some(x, y) {
	console.log(x, y)
}
// Как передать параметры x,y или организовать функцию?
$(window).on ('resize', some);
// Что бы потом спокойно удалить этот handler
$(window).off('resize', some);
Самое простое решение 
function some(x, y) {
	console.log(x, y)
}
// Передаю данные в анонимную функцию
$(window).on ('resize', function () {
   some(x, y)
});
// Удаляю все слушатели
$(window).off('resize');
Но хотелось бы удалить конкретную функцию  | 
	
		
 Patr56, 
	скорей всего жеквери использует нативные JS-переменные. Попробуйте onresize=null. Если не получиться, используйте вместо $(window).on... onresize=some  | 
	
		
 Решение примерно такое получилось, с замыканием 
	
function someGloba() {
    "use strict";
    console.log('someGlobal start');
    var x;
    var y;
    function getX() {
        return x;
    }
    function getY() {
        return y;
    }
    function setY(value) {
        y = value;
    }
    function setX(value) {
        x = value;
    }
    return {
        getX: getX,
        getY: getY,
        setY: setY,
        setX: setX
    };
}
var someGlobal = someGloba();
function some(x, y) {
    console.log(x, y)
}
function someWrap(event) {
  some(someGlobal.getX(), someGlobal.getY())
}
someGlobal.setX(x);
someGlobal.setY(y);
$(window).on ('resize', someWrap);
$(window).off('resize', someWrap);
 | 
	
		
 Patr56, 
	Дело конечно ваше, но Ваше решение не особо гибкое. нет возможности свободно удалять и добавлять обработчики. Я бы на вашем месте сделал как-то так 
<html>
<button onclick="window.onresize()">
 test
</button>
<button onclick="window.handlers.remove(alert1)">
 remove
</button>
<script>
Handlers=function(){this.handlers=[]}
Handlers.prototype={
 remove: function(handler){this.handlers=this.handlers.filter(function(h){return handler!==h})},
 add: function(handler){this.handlers.push(handler)},
 call: function(){this.handlers.forEach(function(handler){handler()})}
}
handlers=new Handlers
alert1=function(){alert(1)}
alert2=function(){alert(2)}
handlers.add(alert1)
handlers.add(alert2)
onresize=function(){handlers.call()}
</script>
</html>
 | 
	
		
 Цитата: 
	
  | 
	
		
 nerv_, 
	Спасибо большое, отличное решение :)  | 
| Часовой пояс GMT +3, время: 09:10. |