2014-12-11 3 views
0

.change() 함수를 사용하여 입력 내용의 변경 사항을 확인하고 변경 사항이 발생하면 경고를 표시하지만 작동하지 않는 잘못된 이유가 있습니다..change() 함수가 작동하지 않습니다.

jsFiddle

$(document).ready(function() { 
    var sizes = ["0", "1", "2", "3", "4", "5", "5", "6", "7"]; 

$("#slider").slider({ 
     orientation: "vertical", 
     range: "min", 
     animation:false, 
     min: 0, 
     max: 8, 
     value: 0, 
    slide: function(event, ui) { 
     $('.convert').val(sizes[ui.value]);  
    } 
}); 

     $('.convert').change(function(e){ 
      alert("works?"); 
     }); 

     $('.convert').keypress(function(e){ 
      alert("works?"); 
     }); 

}); 
+1

다음 이벤트가 발생하는 것 같다 초점이 텍스트를 입력 자신의 변경 이벤트가, 당신이 –

+3

을 흐리게 때까지 변화가 발생하지 않습니다 생각 일하지 않는다는게 무슨 소리 니? 그것은 예상대로 작동 중입니다 ... 값을 수동으로 변경하면 변경이 트리거되지 않습니다. 그냥 .val (sizes [ui.value]). trigger ('change') ' –

+1

@ZachLeighton이 말한 것이 바로 그것입니다. blured. 키 업 이벤트로 변경할 수 있습니다. –

답변

1

다음 이벤트가 발생하는 것 같다 초점이 텍스트를 입력, 나는

당신이

변경 이벤트 $('.convert').on('keyup', function(){ alert('foo');});에 (감사 크리스 B에) 흐리게 때까지 변화가 발생하지 않습니다 생각

업데이트 된 바이올렛보기 : http://jsfiddle.net/6ys3derm/2/

+0

Karl이 내 실수를 지적했습니다 ... 내가 찾고 있었던 것이 었습니다. 대답은 +1. – Alin

1

흠. 이거해볼 수 있니?

$('document').on('change', '.convert', function(){ 
    alert("it works :-)"); 
}); 
+0

칼은 내 실수를 지적했다 ... 내가 찾고 있었던 것이지. 대답은 +1. – Alin

1

슬라이더가

fiddle

$(document).ready(function() { 
    var sizes = ["0", "1", "2", "3", "4", "5", "5", "6", "7"]; 

    $("#slider").slider({ 
     orientation: "vertical", 
     range: "min", 
     animation:false, 
     min: 0, 
     max: 8, 
     value: 0, 
    slide: function(event, ui) { 
     $('.convert').val(sizes[ui.value]);  
    }, 
     change:function(){      //called onchange 
      alert("slider changed"); 
     } 
    }); 

}); 
+0

Karl이 내 실수를 지적했습니다 ... 내가 찾고 있었던 것이 었습니다. 대답은 +1. – Alin