2
다음 코드를 시도하고 있습니다. 컨텍스트 메뉴 이벤트 후 Keyup 이벤트가 등록되지 않았습니다.
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$(document).on("keyup","body",function(e) {
if (e.which == 16) {
$("input").attr("sh","0");
}
});
$(document).on("keydown","body",function(e) {
if (e.which == 16) {
$("input").attr("sh","1");
}
});
});
</script>
</head>
<body>
<input type = 'text' sh = '0'/>
<p>Just checking</p>
</body>
</html>
이 이벤트의 시퀀스가 실행되는 경우를 제외하고는 잘 작동
을 발표 할 때이shift
키를 누를 때마다 1로 입력의
sh
속성을 변경하고 다시 0으로 복귀 할 예정이다. 입력에 초점이 맞지 않는 동안 Shift 키를 누릅니다. (Firebug는 예상대로
sh
이 1이됨을 보여줍니다). 이제 키를 누른 상태에서 입력에 집중하십시오. 이제 입력을 마우스 오른쪽 버튼으로 클릭하십시오. 컨텍스트 메뉴가 나타납니다. 이제
shift
키를 놓으면 (컨텍스트 메뉴를 그대로 둡니다) 방화 광은
sh
이 여전히 1임을 보여줍니다. 이동하려면 컨텍스트 메뉴 바깥을 클릭하거나
paste
옵션을 클릭하여 클립 보드 텍스트를 입력에 붙여 넣으십시오 (여전히
sh
). 1.
shift
을 다시 눌렀다가 놓으면
sh
만 다시 0이됩니다.
어떻게 해결할 수 있습니까?
모든 '문서'또는 '입력'에서 '교대'키를 확인해야합니까? "body"대신 –
을 입력하고 "*"을 입력하십시오. 희망이 도움이 될 것입니다. –
@KundanSinghChouhan, 운이 없다,'*'를 사용하면 여전히 1이다! – SexyBeast