jQuery- 핫키 및 창 프롬프트 문제
-
12-09-2019 - |
문제
참조로 http://jshotkeys.googlepages.com/test-centatic-01.html나는이 강력한 도구를 구현하고 몇 가지 문제에 직면하려고 노력합니다.
ctrl s를 클릭 할 때마다 testing.html을 저장할 것인지 묻는 창 프롬프트가 팝업됩니다.
Windows 프롬프트를 무시하고 싶습니다.
내가 원하는 것은 간단합니다 : 1. 사람들이 저장 버튼을 클릭하면 키보드에서 단축키 키 Ctrl s를 클릭합니다.
스크립트는 create () 점검을 수행해야합니다
사실이라면 계속 양식을 제출하십시오. False 인 경우 ALERT를 중지하십시오.
아래는 참조를위한 전체 소스 코드입니다.
<html>
<head>
<style>
* {font-family: Helvetica, Verdana, Arial; font-size:0.95em}
.eventNotifier{width: 100px; float: left; color:navy;
border: dotted 1px navy; padding: 4px; background-color:white;
margin:3px}
.dirty{border: solid 1px #0ca2ff; color:white;
background-color:#0ca2ff}
</style>
<script src="jquery-1.3.2.min.js"></script>
<script src="jquery.hotkeys-0.7.9.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// 이상한- 경고 ctrl+s가 두 번 나타나는 것을 발견했습니다 .. ??? $ (window) .keypress (function (event) {if ((이벤트.
jQuery(document).bind('keydown', 'Ctrl+s',
function(evt){ Create(); return false; });
//jQuery(document).bind('keydown', 'Ctrl+s',
//function (evt){jQuery('#_Ctrl_s'); return false; });
});
function Create()
{
var f = document.frm
if (f.txtQuestion.value.length == 0)
{
alert('Please enter Question.')
f.txtQuestion.focus()
return false
}
f.submit()
}
</script>
</head>
<body>
<form name="frm" method=post action="" >
<div id="_Ctrl_s" class="eventNotifier">Ctrl+s</div>
<input type=text name="txtQuestion" maxlength="255"
class="field400" value="">
<input type=button value="Save" name="BtnSave" onclick="Create()"
class=text100>
</form>
</body>
</html>
여기에 코드
해결책
브라우저 저장을 대화 상자로 표시하지 않으려면 기본 이벤트 조치 (일반 jQuery의 예제)를 방지해야합니다.
$(window).keypress(function(event) {
if ((event.which == 115 && event.ctrlKey)){
alert("Ctrl+S pressed");
event.preventDefault();
}
});
다른 팁
코드 스 니펫은 괜찮지 만 기본 브라우저 동작을 방지하려면 (저장 대화 상자 표시) 키 누름 이벤트 (키 다운 아님) 및 물론 거짓을 반환합니다.
jQuery(document).bind('keypress', 'Ctrl+S',function (evt){
//do job..
return false
});
제휴하지 않습니다 StackOverflow