간단한 툴팁 기능을 작성하여 here으로 작성했습니다.
두 핸드러 함수 모두 .hover()
에 설정되어 있고 $(this)
과 그 외의 2 개의 변수에 액세스해야합니다. 그것을 달성 할 위해서, 나는 두 핸들러에서의 같은 3 개 변수를 선언 :
DRY 원칙이 존중되어야
$('a').hover(
function() {
var $this = $(this);
var link_offset = $this.offset();
var link_tooltip = $this.data('tooltip');
// Rest of the code
},
function() {
var $this = $(this);
var link_offset = $this.offset();
var link_tooltip = $this.data('tooltip');
// Rest of the code
}
);
됩니다 : 설정 같은 변수를 전달하는 다른 현명한 있는가/덜 더러운 방법 두 기능 모두
.hover()
안에 있습니까?
Obvioulsy, 변수는 전역 변수가 될 수 없습니다 (어쨌든 전역 변수는 악의적입니다).
jQuery 또는 pure JS로이 작업을 수행하는 방법에 대한 아이디어가 있으십니까?
당신이 정말로, 당신은 (은'mouseenter을 할당 할 수 있습니다해야하는 경우)'와'하는 MouseLeave()'이벤트를 직접 처리기 및 라우팅 이 값을 설정하는 사용자 지정 함수를 통해 호출합니다. 그러나 그것은 정말로 필요합니까? – Kami