jquery 가상 선택자 확장하기.

· 8년 전 · 2368

Jquery 의 fn.extend 를 이용한 플러그인 작성은 아주 빈번히 하는 작업들이라 모두 익숙하시겠지만,

사실 jquery 는 가상선택자를 확장하는 함수도 있습니다.

 

예를 들어서 :scrollable 이라는 가상선택자를 아래와 같이 만듭니다. ( 다른 사람의 작품입니다)

 

[code]

var props = ['', '-x', '-y'],

    re = /^(?:auto|scroll)$/i;

 

$.expr[':'].scrollable = function(elem) {

    var scrollable = false;

 

    elem = $(elem);

 

    $.each(props, function(i, v) {

        return !(scrollable = scrollable || re.test(elem.css('overflow' + v)));

    });

 

    return scrollable;

};

[/code]

이것을 평가하고 난 다음부터는, 다음과 같이 쓸 수 있습니다.

 

[code]

var $container = this.closest(':scrollable');

[/code]

 

 
|

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고