2017-12-23 14 views
0

jquery와 jquery-address 및 jqueryvalidation과 같은 많은 jquery 플러그인을 기반으로 한 단일 페이지 응용 프로그램이 있습니다.이유가없이 keyup 및 keydown 이벤트가 발생했습니다.

이 응용 프로그램은 페이지 사이를 이동 시간에 대한 응용 프로그램에서 작업 한 후에 단일 페이지 응용 프로그램 기능을

를 제공하기 위해 숨기고 보여주는 된 div를 사용하여, 나는 크롬 곳의 keyup에서이 이상한 행동을 얻고,를 keyDown 이벤트 인 입력 래퍼에 css display : none 속성이있는 응용 프로그램의 모든 단일 입력에서 자동으로 트리거됩니다.

이 버그는 모든 컴퓨터에서 재생산되지 않으며, 다른 서버에 응용 프로그램을 설치하더라도 모든 컴퓨터에서 발생하지는 않습니다.

하고 문제를

I가 해결되지 않습니다 메인 창에 캐시와 하드 다시로드를 삭제하는 동안 나는 그것이 시크릿 모드에서 재생되지 않습니다 동일한 시스템에 시크릿 모드로 사용하는 경우,이 버그 더 유선 얻을 수 우리는 모든 자바 스크립트 코드를 제거하고 단일 html 양식과 j Query 라이브러리를 유지하고 콘솔을 사용하여 성공적인 아약스 호출을 수행했으며이 이벤트는 양식에있는 숨겨진 두 개의 입력에 대해서만 호출합니다. 눈에 보이지 않는 아무것도 보이지 않았다 !!

코드가 여기

<!DOCTYPE html> 
<html lang="en"> 
<head> 
</head> 
<body> 
<div style="display: none"> 
    <input id="username" name="username" type="username"> 
    <input id="password" name="password" type="password"> 
</div> 
<script src="./js/lib/jquery-1.11.1.min.js"></script> 
</body> 
</html> 

콘솔의 스크린 샷, 당신은 내가 단지 monitorEvents을 실행 볼 수 있습니다 최종 소스 ($ ("몸") [0]); $ .getJSON ("http://localhost:3000"); 이벤트가 발생했습니다.

왜 이러한 이벤트가 발생했는지 알 수 없으며 isTrusted가있는 이유를 알지 못합니다 : true, 또한 키 속성 또는 keyCode 또는 알릴 속성이 없습니다. 어떤 키 당신은 BTW

을 /를 누르면 시뮬레이션되고있다 : 나는

enter image description here

+0

경험 크롬 프로젝트 버그, 100 % 문제가 있습니다. – Aria

+0

VM2993 "링크"를 클릭하여 해당 이벤트의 출처를 확인해 봤습니까? – Dardanboy

+0

VM2993은 monitorEvents ($ ("body") [0])의 청취자입니다. 그것을 클릭하면 디버거가 추가 한 코드가 표시됩니다 (function (e) {console.log (e.type, e);}). – Jondi

답변

0

내가의 이유를 발견 5 일 이상이 작업 후 브라우저에 설치된 확장 기능/플러그인이없는 이 동작은 제출하면 암호로 양식을 만든 다음 크롬에 암호 저장을 허용하고 페이지에 숨겨진 암호 입력이있는 경우에만 해당 입력에 이벤트 처리기가 연결된 경우 Chrome에서 숨겨진 입력에 대한 모든 이벤트를 호출합니다.

이미보고했습니다. 아무 이유없이 일어난 프로그래밍 아무것도 우리를 보여줍니다

https://bugs.chromium.org/p/chromium/issues/detail?id=797530