2009-05-29 3 views
0

livequery 플러그인에 문제가 있습니다. 버전 : 1.0.3.jquery livequery plugin이 blur 이벤트를보다 많이 실행합니다.

시계 코드 : 흐림 이벤트 후

$('#'+$(celDiv).find('input').attr('id')).livequery('blur',function(){ 
    var idProduct = $('#idProduct').val(); 
    var idSupplier = $('#idSupplier').val(); 
    var lotNumber = $('#lotNumber').val(); 
    var idSpecification = $('#idSpecification').val(); 
    var version = $('#version').val(); 
    var idItemAnalysis = id; 
    var seqItemAnalysis = $(celDiv).parents('tr').find("td").eq(5).text(); 
    var operator = $(celDiv).parents('tr').find("td").eq(1).text(); 
    var val = $('#'+$(celDiv).find('input').attr('id')).val(); 

    if(val != null) 
    { 
     if((operator != '=>' && operator != '<=') && !isNaN(val.replace(',','.'))) 
     { 
      $.post('/Operations/SaveAnalysisResults',{ 
       idProduct: idProduct, 
       idSupplier: idSupplier, 
       lotNumber: lotNumber, 
       idSpecification: idSpecification, 
       version: version, 
       idItemAnalysis: idItemAnalysis, 
       seqItemAnalysis: seqItemAnalysis, 
       val: val 
      }); 
      gridResultsAnalysis.flexReload(); 
     } 
     else{ 
      alert("For this operation, the value must be numerical"); 
      $('#'+$(celDiv).find('input').attr('id')).val(''); 
     } 
    } 
}); 

에서, livequery 호출이 더 이상 실행, 내 데이터 일관성에 문제가 발생합니다.

해결책으로,이 코드가 이미 실행되었는지를 알기 위해 부울 변수를 만들었습니다. 하지만이 솔루션이 대안 솔루션이라고 생각합니다.

다른 솔루션이 있습니까? livequery 플러그인에 버그가 있습니까?

모두 감사합니다! 이 같은 또한

$(celDiv).find('input').live('blur', function(){ 

통화 : : 이제이 같은 1.4.1+와 jQuery를 코어에서이 작업을 수행 할 수 있습니다

+2

호기심에서 벗어난 livequery 플러그인은 jQuery 코어에 1.3에 "라이브"항목이 추가되지 않았습니까? – Nosredna

답변

1

$('#'+$(celDiv).find('input').attr('id')).val(); 

은 일 수 있습니다

$(celDiv).find('input').val(); 

또는 함수 내부 :

$(this).val(); 
관련 문제