2017-01-15 12 views
2

에서 :무한 루프 I가 하나의 정적 개의 입력에만 크롬

<input type="text" class="someclass" /> 

다른 동적 :

$("<input />", { 
    type: "number", 
    min: "0" 
}).addClass("someclass").appendTo($("#someid")); 

하고이 코드는 고정 입력에 잘 작동 :

하지만 동적 입력에 경고가 포함 된 무한 루프가 발생하는 경우 이는 Chrome에서만 발생하며 다른 사람은 어떤 생각을 가지고 있습니까? 초점은 테리로

+0

야생 추측 : 경고 상자가 크롬에 닫힐 때 아마 때문에하는 대한 focusOut 이벤트는 등록? 어쨌든,'alert()'를 사용하는 것은 코드 실행을 차단할 때 새로운 기능을 테스트하거나 테스트하는 좋은 방법이 아닙니다. 대신에'console.log()'를 사용해보십시오. – Terry

+0

크롬에서 코드가 정상적으로 보입니다 (https://jsfiddle.net/ymazyrmn/). 어쩌면 반복 포커스 아웃 이벤트를 트리거하는 다른 코드가 페이지에있을 수 있습니다. –

+0

나는 똑같은 문제가있다. 내 크롬은 Versión 55.0.2883.87m (64 비트) – user7420251

답변

2

명시된 것과 동일한 클래스와 다른 입력에 갈 때

오류이며, 경고 상자가 어떤 JS의 문제를 해결하는 가장 좋은 방법은 아닙니다.

경고를 console.log()로 바꾸면 Chrome 및 다른 브라우저에서 이벤트가 한 번만 발생 함을 알 수 있습니다.

$("<input />", { 
 
    type: "number", 
 
    min: "0" 
 
}).addClass("someclass").appendTo($("#someid")); 
 

 
$(document).on("focusout", ".someclass", function() { 
 
    console.log("alert"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="someclass" /> 
 
<div id='someid'> 
 

 
</div>

이 답변을 참조하십시오 : 나는 브라우저가 텍스트 필드에 경고에서 당신이 경고의 "OK"버튼을 클릭 할 때마다 초점을 보내고 있기 때문에 생각

을 . 최종 버전의 코드에서 알림 (methinks)을 표시하지 않을 것이므로 장기적으로는 문제가되지 않을 수 있습니다.

여기

https://stackoverflow.com/a/6869420/529024

+0

예 !! 오류는 alert(); console.log 및 기타 지침을 잘 작동, 정말 고마워요! – user7420251