jquery $.proxy는 원하는 객체를 넘길 수 있습니다.
다음과 같이 textAreaOnFunc 함수 객체를 넘길 수도 있고,
proxy를 사용 안하면 이벤트를 발생시킨 객체를 넘길 수도 있습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<textarea name="" id="" cols="30" rows="10"></textarea>
<textarea name="" id="" cols="30" rows="10"></textarea>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
(function (win, $) {
var coordGenerator = {
init: function () {
this.setElements();
this.bindEvents();
},
setElements: function () {
this.textArea = $('textarea');
},
bindEvents: function () {
this.textArea.on('focus',$.proxy(this.textAreaOnFunc, this))
},
textAreaOnFunc : function (e) {
console.log('test');
// console.log($(this));
}
};
coordGenerator.init();
})(window, window.jQuery);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<textarea name="" id="" cols="30" rows="10"></textarea>
<textarea name="" id="" cols="30" rows="10"></textarea>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
(function (win, $) {
var coordGenerator = {
init: function () {
this.setElements();
this.bindEvents();
},
setElements: function () {
this.textArea = $('textarea');
},
bindEvents: function () {
this.textArea.on('focus',this.textAreaOnFunc)
},
textAreaOnFunc : function (e) {
console.log('test');
// console.log($(this));
$(this).toggleClass('on');
}
};
coordGenerator.init();
})(window, window.jQuery);
</script>
</body>
</html>