파일 업로드 입력 필드가 업데이트 된시기를 감지하려고합니다. IE & FF에서 blur()를 사용하면이 작업을 수행 할 수 있지만 Chrome의 경우 change()를 사용해야합니다. 크롬 (사파리는 사기라고 생각하기 때문에) 블러 이벤트를 트리거하지 않기 때문에 jquery.supports 객체에이 속성을 확인하는 속성이 있거나 사용되지 않는 .browser 객체를 사용해야합니까?jquery의 Chrome/Safari 흐림 기능 지원
아래 포스터에서 세 가지 브라우저 모두에서 변경된 이벤트가 작동하며 사용해야 할 것이지만 다음과 같은 포스터로 표시된다는 샘플 페이지가 있습니다.하지만 지원을 찾는 질문에 대한 대답을 얻는 것이 여전히 유용하다고 생각합니다. blur 이벤트의 경우.
<html>
<head>
<script src="jquery-1.4.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#test-input').change(function() { alert('changed'); });
$('#test-input').blur(function() { alert('blurred'); });
});
</script>
</head>
<body>
<input type="file" id="test-input">
</body>
</html>
이러한 브라우저는 이벤트를 올바르게 트리거합니다 ... 문제를 보여주는 예제가 있습니까? '.change()'는 여러분이하고있는 것을 모든 브라우저에서 작동해야합니다. –
맞습니다. 간단한 데모를 만들려고 할 때 세 브라우저에서 모두 변경 이벤트가 발생했습니다. 내 코드에 문제가있을 수 있습니다. 그러나 FF & IE가 멀리 크롬을 클릭 할 때 흐리게 사건을 방아쇠를 당겼더라도. 따라서 어쨌든 코드를 게시하여 a) 내 코드에 문제가 있거나 b) 기능/버그에 대한 지원/비 지원을 감지 할 수있는 방법이 있는지 확인하십시오. – Mike
'change()'는 모든 브라우저에서 작동했습니다. 만약 사용자가 같은 파일을 다시 선택했을 때'change()'가 다시 발생하지 않는다고 걱정한다면'$ ('form') [0] .reset()' – timdream