※ ChatGPTを利用し、要約された質問です(原文:インラインフレームのキーイベント)
インラインフレームのキーイベント
IE7のインラインフレームでキーイベントを取得しようとしているのですが、オブジェクトがありませんとエラーになってしまいます。
こちら通常の場合は上手くいくのですが、
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
<title>HTML Editor</title>
<script type="text/javascript">
document.onkeydown = function(e) {
var shift, ctrl;
keycode = event.keyCode;
ctrl = event.ctrlKey;
shift = event.shiftKey;
// キーコードの文字を取得
keychar = String.fromCharCode(keycode).toUpperCase();
// Ctrl同時押しの場合
if (ctrl) {
if (keychar == "C") {
alert('Ctrl+C');
}
}
}
</script>
</head>
<body id="oBody">
<span id="editSpan">
<iframe id="oIframe" style="width:100%;height:50%">
</iframe>
</span>
</body>
</html>
次のようにインラインフレームの中で行おうとするとエラーになってしまいます。
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
<title>HTML Editor</title>
</head>
<body id="oBody">
<span id="editSpan">
<iframe id="oIframe" style="width:100%;height:50%">
</iframe>
</span>
<script type="text/javascript">
oIframe.document.onkeydown = function(e) {
var shift, ctrl;
keycode = event.keyCode;
ctrl = event.ctrlKey;
shift = event.shiftKey;
// キーコードの文字を取得
keychar = String.fromCharCode(keycode).toUpperCase();
// Ctrl同時押しの場合
if (ctrl) {
if (keychar == "C") {
alert('Ctrl+C');
}
}
}
</script>
</body>
</html>
なにか解決方法ありますでしょうか。
よろしくお願いします。
お礼
ありがとうございました。 解決できました。