도전 과제:
CSS 클래스가 다음과 같은 경우 jQuery를 사용하여 이벤트를 트리거할 수 있습니까? 추가 또는 수정되었나요? CSS 클래스를 변경하면 자동으로 jQuerychange() 이벤트가 호출됩니까?
해결 방법:
jQuery는 본질적으로 CSS 클래스가 변경될 때 이벤트를 제공하지 않습니다. 그러나 스크립트에서 클래스를 변경할 때 트리거를 사용하여 자체 이벤트를 트리거할 수 있습니다.
$(this).addClass('someClass'); $(mySelector).trigger('cssClassChanged');
그런 다음 사용자 정의 이벤트를 선택기에 바인딩하여 클래스가 변경될 때 수행할 작업을 지정합니다.
$(otherSelector).bind('cssClassChanged', data, function(){ do stuff });
jQuery의 Change() 이벤트는 입력 요소 전용이며 포커스가 데이터 이후에 변경된 콘텐츠가 있는 입력에서 나갈 때만 트리거됩니다. 항목.
데모 코드:
$(function() { var button = $('.clickme'), box = $('.box'); button.on('click', function() { box.removeClass('box'); $(document).trigger('buttonClick'); }); $(document).on('buttonClick', function() { box.text('Clicked!'); }); });
.box { background-color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="box">Hi</div> <button class="clickme">Click me</button>
위 내용은 CSS 클래스가 변경되면 jQuery에서 이벤트를 어떻게 트리거할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!