대부분의 jQuery 플러그인은 처음 초기화 할 때 DOM 노드에 연결되거나 바인딩됩니다.jQuery 플러그인이 이미 DOM 노드에 바인딩되어 있는지 확인하는 방법은 무엇입니까?
$('#foo').bar({options: ...});
당신이 플러그인이나 객체가 현재
#foo
같은 DOM 노드에 바인딩 된 것을 확인할 수 있습니다 방법
? 예를 들어
if($('#foo').bar)
if($.inArray('bar', $('#foo').eq(0)))
if($('#foo').eq(0).indexOf('bar'))
if($('#foo').hasOwnProperty('bar'))
, 그것은 플러그인 자체가에 일하고 요소 (들)을 변경하는 몇 가지 방법을 정의되지 않는 한이
console.log($('#foo').data('events'));
반드시이 답을 알고 싶으세요 (예를 들어, 확장 된 위젯의 기본 메소드를 호출)의 이름을 알고 당신이 그나마 위젯의 메소드를 호출하는 것이 유용하다. 그것은 디버깅에 도움이 될 것입니다. –
DOM 노드에 _bound를 정확히 정의 하시겠습니까? [jquery-ui.js] (http://code.jquery.com/ui/1.9.1/jquery-ui.js)를 페이지에 추가하면 모든 요소는'.dialog()','.autocomplete)'등이 자동으로 추가됩니다. 그들은 _every_ 노드에 바인딩됩니다. –
@SalmanA, 나는 플러그인이 적극적으로 DOM 요소를 모니터링하거나 영향을 미치고 있음을 의미합니다. – Xeoncross