반응형
jQuery.on('change'), 함수() {}이(가) 동적으로 생성된 입력에 대해 트리거되지 않음
문제는 동적으로 생성된 입력 태그 세트가 있고 입력 값이 변경될 때마다 트리거하는 기능도 있다는 것입니다.
$('input').on('change', function() {
// Does some stuff and logs the event to the console
});
하지만, 그.on('change')
페이지가 로드될 때 존재했던 항목에 대해서만 동적으로 생성된 입력에 대해 트리거되지 않습니다.불행하게도 이것은 나를 약간 곤란하게 만듭니다..on
의 대체물이 될 것입니다..live()
그리고..delegate()
모두 포장지입니다..bind()
:/
다른 사람이 이런 문제를 겪었거나 해결책을 알고 있습니까?
선택기를 에 제공해야 합니다.on
함수:
$(document).on('change', 'input', function() {
// Does some stuff and logs the event to the console
});
그렇게 되면 당신이 기대한 대로 될 것입니다.또한 문서 대신 일부 요소를 지정하는 것이 좋습니다.
더 나은 이해를 위해 이 기사를 읽으십시오: http://elijahmanor.com/differences-between-jquery-bind-vs-live-vs-delegate-vs-on/
다음 방법 중 하나를 사용할 수 있습니다.
$("#Input_Id").change(function(){ // 1st way
// do your code here
// Use this when your element is already rendered
});
$("#Input_Id").on('change', function(){ // 2nd way
// do your code here
// This will specifically call onChange of your element
});
$("body").on('change', '#Input_Id', function(){ // 3rd way
// do your code here
// It will filter the element "Input_Id" from the "body" and apply "onChange effect" on it
});
사용합니다.
$('body').on('change', '#id', function() {
// Action goes here.
});
잠재적인 혼란을 분명히 하기 위해서입니다.요소가 DOM 로드에 있는 경우에만 작동합니다.
$("#target").change(function(){
//does some stuff;
});
나중에 요소를 동적으로 로드하면 다음을 사용할 수 있습니다.
$(".parent-element").on('change', '#target', function(){
//does some stuff;
});
$("#id").change(function(){
//does some stuff;
});
다음을 사용할 수 있습니다.
$('body').ready(function(){
$(document).on('change', '#elemID', function(){
// do something
});
});
저랑 잘 어울려요.
요소가 사용자 입력을 받을 때 발생하는 '입력' 이벤트를 사용할 수 있습니다.
$(document).on('input', '#input_id', function() {
// this will fire all possible change actions
});
w3의 문서
$(document).on('change', '#id', aFunc);
function aFunc() {
// code here...
}
언급URL : https://stackoverflow.com/questions/13418963/jquery-onchange-function-not-triggering-for-dynamically-created-inputs
반응형
'programing' 카테고리의 다른 글
MySQL 트리거 행 필드가 존재하는지 확인 (0) | 2023.11.02 |
---|---|
IntelliSense가 SQL Server Management Studio에서 작동하지 않습니다. (0) | 2023.11.02 |
릴리스 버전 iOS Swift에 대해 println()을 제거합니다. (0) | 2023.11.02 |
x-www-form-urlencoded를 사용하여 Angular2를 강제 POST하는 방법 (0) | 2023.11.02 |
파일에 로컬 데이터 로드가 새 행을 추가하는 대신 mariadb 열 저장소의 이전 데이터를 바꿉니다. (0) | 2023.11.02 |