Opera/Mac처럼 보이기 때문에 사용자가 ⌘S를 눌렀을 때 액션을 재정의 할 수 없습니다 (기본값은 물론 페이지 저장). 내 오래된 스크립트가 작동하지 않는다는 것을 알았습니다. Ajax를 통해 양식 내용을 서버에 저장합니다.Opera/Mac : cmd + S 이벤트를 재정의 하시겠습니까?
은 여기 onkey입니다 * 핸들러 :
key = ev.keyCode
if (!key) key = ev.charCode
if (ev.type == 'keypress' && 115 == key && ev.ctrlKey) return false
if (83 == key && ev.ctrlKey) {
if (ev.type != 'keypress') save_text()
return false
}
오페라/맥의 첫 번째 불확실성은이 ⌘ 키 대신 실제 Ctrl
키를 ctrlKey를 생성하는 것입니다. 그래서 Safari에서 이것은 표준^S 액션을 광산으로 완벽하게 대체합니다. 하지만 오페라에서는^S가 완전히 무시됩니다. ctrlKey는 ⌘ 용이므로 ⌘S는 사용자가 수행하는 작업에 상관없이 표준 저장 대화 상자를 가져옵니다.
실제로 ⌘S 키를 누르면 Opera의 모든 키 * 이벤트 시퀀스를 모니터링하려고했는데 keyCode 17로 keydown을 누른 다음 keyCode 17로 키를 누른 상태에서 ⌘를 누르면 모두 발생합니다. S를 눌러도 전혀 이벤트가 생성되지 않습니다.
그래서 나는 운이없는 것처럼 보입니다. 누구든지 Opera에서 강제로 ⌘S를 재정의하도록하는 방법을 알고 있습니까? :-)
예. (* 필수 - 15 자 이상) –
재정의하는 것으로 보입니다. 실제로 작동하지 않습니다. 아마도 https://bugs.opera.com/wizard/에서 보고서를 던지십시오. – hallvors