변경 이벤트는 모든 요소에서 사용할 수 없으므로 div
요소의 내용이 변경 되더라도 실행되지 않습니다.
변경 이벤트는 양식 요소에서 사용할 수 있습니다. 난 그냥 ID로 요소를 확인하고이 예에서는
var checkForInputTimer;
var checkForInput = function() {
if ($("#checkout_provider_checkout_moneyorder").length > 0) {
window.clearInterval(checkForInputTimer);
alert("Do your processing here");
}
};
checkForInputTimer = window.setInterval(checkForInput, 2000);
: 당신의 필요가 특정 폼 요소를 사용할 수있을 때 해결하는 것입니다 같은
그것은 당신이 간격을 사용하여 해당 검사 수, 보이는 ID는 고유해야한다는 점에서 가장 효율적인 검색입니다.
사용자 지정 이벤트를 만들 수도 있지만 div
요소를 업데이트하는 데 사용하는 코드를 사용하여 이벤트를 트리거해야한다는 것을 기억해야합니다. 나는 이것에 대한 JS Fiddle 만들었습니다
$('div.provider_name').bind('contentChanged', function(event, data) {
if ($('#checkout_provider_checkout_moneyorder').length > 0) {
alert('Do your processing here');
}
});
그리고 당신이 div
를 업데이트 할 때마다, 당신은이 이벤트 트리거 :
$('div.provider_name').html('<input type="text" name="example" id="checkout_provider_checkout_moneyorder" value="example">')
.triggerHandler('contentChanged');
DIV 년대는'change' 이벤트를 필요는 없습니다. 이 문제를 해결하기 위해서는'DOMNodeInserted'와 같은 상위 수준의 DOM 요청이나 '돌연변이 관찰자'를 사용해야합니다. – Ohgodwhy
참조 : http://stackoverflow.com/questions/1091661/detect-element-content-changes-with-jquery – Cristy
또한 div의 내용을 실제로 변경할 때 변경 이벤트를 '실행'하지 않는 이유는 무엇입니까? – Cristy