복붙노트

[JQUERY] DIV 변화에 대한 화재의 jQuery 이벤트

JQUERY

DIV 변화에 대한 화재의 jQuery 이벤트

해결법


  1. 1.당신은 요소를 추가 또는 제거되었는지 확인하기 위해 DOMNodeInserted 및 DOMNodeRemoved를 사용할 수 있습니다. 불행하게도, IE는이 기능을 지원하지 않습니다.

    당신은 요소를 추가 또는 제거되었는지 확인하기 위해 DOMNodeInserted 및 DOMNodeRemoved를 사용할 수 있습니다. 불행하게도, IE는이 기능을 지원하지 않습니다.

    $('#myDiv').bind('DOMNodeInserted DOMNodeRemoved', function(event) {
        if (event.type == 'DOMNodeInserted') {
            alert('Content added! Current content:' + '\n\n' + this.innerHTML);
        } else {
            alert('Content removed! Current content:' + '\n\n' + this.innerHTML);
        }
    });
    

    당신은 .DATA와 초기 내용과 미래의 변화를 절약 할 수있다 (). 다음은 예입니다.

    var div_eTypes = [],
        div_changes = [];
    $(function() {
        $('#myDiv').each(function() {
            this['data-initialContents'] = this.innerHTML;
        }).bind('DOMNodeInserted DOMNodeRemoved', function(event) {
            div_eTypes.concat(e.type.match(/insert|remove/));
            div_changes.concat(this.innerHTML);
        });
    });
    

    출력 예 :

    > $('#myDiv').data('initialContents');
    "<h1>Hello, world!</h1><p>This is an example.</p>"
    > div_eTypes;
    ["insert", "insert", "remove"]
    > div_changes;
    ["<iframe src='http://example.com'></iframe>", "<h4>IANA — Example domains</h4><iframe src='http://example.com'></iframe>", "<h4>IANA – Example domains</h4>"]
    

    내가 요소의 innerHTML을 직접 교체 할 경우 DOMNodeInserted 및 DOMNodeRemoved가 실행되지 않는 것을 발견했습니다 때문에뿐만 아니라 DOMSubtreeModified을 포함 할 수 있습니다. 아직 IE에서 작동하지 않지만, 적어도 그것은 다른 브라우저에서 잘 작동합니다.


  2. 2.이런 식으로 뭔가를 시도 ...

    이런 식으로 뭔가를 시도 ...

        $('#divId').bind('DOMNodeInserted', function(event) {
                 alert('inserted ' + event.target.nodeName + // new node
               ' in ' + event.relatedNode.nodeName); // parent
           });
    

    IE는이 PROPERT를 지원하지 않습니다하지만 난이 근처가 PropertyChange 이벤트, 요소의 속성 또는 CSS 프로퍼티의 변경에 응답하여 화재 생각하지만, 어떤 것이 변화 innerHTML을 응답에 불을하지 않습니다 당신이 원하는 무엇을하고 가까이 있습니다.

    하나 개 이상의 가능한 솔루션의 jQuery 조작 기능을 대체하는 것이다 ..

    아직 (이벤트 외에)를 만들 수있는 요소를 수정하는이 discussion..Preferred 방법에 보라


  3. 3.자바 스크립트 나 jQuery를 이러한 이벤트 (onChange가)이 더있다, 당신은 사용자 정의 이벤트를 만들 필요가 없을 것입니다.

    자바 스크립트 나 jQuery를 이러한 이벤트 (onChange가)이 더있다, 당신은 사용자 정의 이벤트를 만들 필요가 없을 것입니다.

    하나 개의 솔루션은 사용자 정의 이벤트를 트리거,이 동작은 요소가 변경된 경우 변경 한 경우, 검사의 모든 X의 밀리 초보고하는 설문 조사를 구축 한 후 요소를 직렬화 것입니다 당신이 제어 할이 요소의 동작을 연결하는 lowpro 이용 될 수있다 해당 요소에.

    여기 jQuery를 함께 lowpro 사용하는 방법에 대한 몇 가지 예제를 가지고 : http://www.learningjquery.com/2008/05/using-low-pro-for-jquery

    행운을 빕니다!

  4. from https://stackoverflow.com/questions/4979738/fire-jquery-event-on-div-change by cc-by-sa and MIT license