disabled="disabled"
속성이 버튼에서 제거되면 함수를 실행하는 방법 (선호되는 경우는 순수 자바 스크립트이지만 jquery도 허용됩니다) 방법이 필요합니다.버튼이 활성화되어있을 때 javascript 기능을 실행하십시오.
답변
MutationObserver API는 요소에 변경 요소를 모니터링 할 수 있습니다.
var btnElement = document.getElementById("buttonId");
var observer = new MutationObserver(observerChanges);
observer.observe(btnElement, {
attributes: true,
subtree: opt.watchChildren,
childList: opt.watchChildren,
characterData: true
});
/// when you're done observing
observer.disconnect();
function observerChanges(mutationRecord, mutationObserver) {
console.log(mutationRecord);
}
위대한 결과를 얻었습니다! 고맙습니다. – fakedrake
사용 중지 된 코드를 삭제할 수 있습니까? 그러나 여기에 내 머리 꼭대기에서 본보기가 있습니다. 우리는 우리가 버튼 장애인 기능을 제거 remove_disable 호출 할 때
<button class="class" id="btn1" disabled>
function remove_disable()
{
document.getElementById('btn1').disabled = false;
function2();
}
는 기능 2
다음function function2()
{
//somecode
}
후 다른 기능을 실행합니다. 이것은 당신이 변경이 완료되면 제어 할 경우 방법
나는 언제 또는 어떻게 장애가 제거되었는지 알지 못합니다. 외부 (모호한) 라이브러리가 내 버튼을 관리하고 해당 라이브러리가 버튼을 사용할 수있게 할 때 이벤트에 연결하려고합니다. 'document.getElementById ('btn1') .onAttributeChanged' 라인을 따라 무언가를 기대할 것입니다. 그러나 그런 것은 없습니다. – fakedrake
어떤 라이브러리를 사용하고 있습니까? 어쩌면 모든 것을 필요로하지 않는다면 전체 라이브러리를 제거 할 수 있습니다. 그렇지 않으면 라이브러리를 보여줄 수 있고 아마도 거기에서 우리는 코드를 관리 할 수 있습니다. –
에 도움이
희망, 간단한 콜백 함수는 가장 쉬운 해결책이 될 것입니다.
그렇지 않으면 Mutation Observers을 사용하여 입력에 대한 사용 중지 된 속성이 변경된 시간을 확인할 수 있습니다.
Object.prototype.watch()
을 사용할 수 있습니다. 그것은 단지 파이어 폭스에서 지원하지만, here's a polyfill 것 :
는 HTML :
<button id="myButton" disabled="disabled">Click</button>
자바 스크립트 :
var myButton = document.getElementById('myButton');
myButton.watch("disabled", function() {
console.log("myButton changed!");
});
myButton.disabled = false; // "myButton changed" will be logged
JSFiddle : https://jsfiddle.net/6ofvutwh/1/은
은더 많은 정보는 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch은
아마도이 문제에 대한 끔찍한 브라우저 지원을 언급해야 할 것입니다. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/watch#Browser_compatibility. – Ozan
는 당신은 알림을받을 수 있습니다 implemen에 의한 DOM 변경 사항 MutationObserver를 호출하는 중입니다.
var observer = new MutationObserver(function(mutations) {
if(mutations.some(function(m) { return m.attributeName == 'disabled' && !m.target.disabled; }))
{
alert('Button was enabled');
}
});
observer.observe(targetButton, { attributes: true, childList: false, characterData: false });
는
관찰을 멈추고 싶다면 ** observer.disconnect ** 메소드를 사용하십시오. - –
- 1. 오브젝트 내용을로드 할 때 Javascript 기능을 실행하십시오.
- 2. 페이지가로드 될 때 javascript 기능을 실행하십시오.
- 3. jQuery에서 검색이 활성화되어있을 때 기능을 사용하지 않음
- 4. 조건이 참일 때만 Javascript 기능을 실행하십시오.
- 5. HTML 라디오 버튼이 JavaScript 양식 기능을 손상합니다.
- 6. ASP.NET 단추를 비활성화하고 기능을 실행하십시오.
- 7. 페이지가로드 될 때 javascript 함수를 실행하십시오.
- 8. 이전 함수가 완료되었을 때 javascript 함수를 실행하십시오.
- 9. 백그라운드에서 phonegap ios 응용 프로그램에서 JavaScript 기능을 실행하십시오.
- 10. PrebuildEvent에서 추가 기능을 실행하십시오.
- 11. 스프링 양식을 제출할 때 Javascript 함수를 실행하십시오.
- 12. div가 스크롤 될 때 javascript 함수를 실행하십시오.
- 13. 버튼 기능을 한 번 실행하십시오.
- 14. 백그라운드에서 DB 쿼리 기능을 실행하십시오.
- 15. cmd에서 javascript 함수를 실행하십시오
- 16. JQuery addClass가 슬라이드가 활성화되어있을 때 미리보기 이미지에
- 17. 외부 프로그램에서 Firefox (또는 다른 브라우저)의 Javascript 기능을 실행하십시오.
- 18. JavaScript 버튼이 서로 충돌합니다
- 19. iPhone의 백그라운드에서 타이머 기능을 실행하십시오.
- 20. 시간이 지난 후 기능을 실행하십시오
- 21. 자바 스크립트를 사용할 수 없을 때 장고 기능을 실행하십시오.
- 22. 스크립트로드시 javascript 함수를 실행하십시오.
- 23. 보기에만 해당되는 javascript 코드를 실행하십시오.
- 24. 자정에 투표 쿠키를 재설정하는 기능을 실행하십시오.
- 25. 여러 Gmail이 활성화되어있을 때 C2DM 등록 처리
- 26. 앵커가 활성화되어있을 때 div를 표시하는 방법은 무엇입니까?
- 27. UIGravityBehavior가 활성화되어있을 때 UIDynamicAnimator가 평형에 도달하지 못함
- 28. MouseListener가 활성화되어있을 때 키보드 손실이 집중됩니다.
- 29. UIPopoverController가 활성화되어있을 때 UIWebView가 탭을 감지하지 못합니다.
- 30. 앱이 활성화되어있을 때 들어오는 SMS를 처리하는 방법
버튼을 사용 중지하고 사용 설정하는 방법을 보여줄 수 있습니까? – Iceman